1 /////////////////////////////////////////////////////////////////////////////////////////////// 2 // checkstyle: Checks Java source code and other text files for adherence to a set of rules. 3 // Copyright (C) 2001-2024 the original author or authors. 4 // 5 // This library is free software; you can redistribute it and/or 6 // modify it under the terms of the GNU Lesser General Public 7 // License as published by the Free Software Foundation; either 8 // version 2.1 of the License, or (at your option) any later version. 9 // 10 // This library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 // Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public 16 // License along with this library; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 /////////////////////////////////////////////////////////////////////////////////////////////// 19 20 package com.puppycrawl.tools.checkstyle; 21 22 /** 23 * Represents the custom property type used in documentation and configuration files. 24 */ 25 public enum PropertyType { 26 27 /** This property is a file. */ 28 FILE("File"), 29 30 /** This property is a string represents an ISO 3166 2-letter code. */ 31 LOCALE_COUNTRY("String (either the empty string or an uppercase ISO 3166 2-letter code)"), 32 33 /** This property is a string represents an ISO 639 code. */ 34 LOCALE_LANGUAGE("String (either the empty string or a lowercase ISO 639 code)"), 35 36 /** This property is a regular expression pattern. */ 37 PATTERN("Pattern"), 38 39 /** This property is a string. */ 40 STRING("String"), 41 42 /** This property is a set of tokens. */ 43 TOKEN_ARRAY("subset of tokens TokenTypes"); 44 45 /** The human-readable property description. */ 46 private final String description; 47 48 /** 49 * Creates a new {@code PropertyType} instance. 50 * 51 * @param description the human-readable property description 52 */ 53 PropertyType(String description) { 54 this.description = description; 55 } 56 57 /** 58 * Returns the human-readable property description. 59 * 60 * @return human-readable property description 61 */ 62 public String getDescription() { 63 return description; 64 } 65 66 }