Enum PropertyTypeName.SemanticType
- java.lang.Object
-
- java.lang.Enum<PropertyTypeName.SemanticType>
-
- org.gcube.informationsystem.types.PropertyTypeName.SemanticType
-
- All Implemented Interfaces:
Serializable,Comparable<PropertyTypeName.SemanticType>
- Enclosing class:
- PropertyTypeName
public static enum PropertyTypeName.SemanticType extends Enum<PropertyTypeName.SemanticType>
String-overlay semantic types: JSON string values (PropertyTypeName.BaseType.STRINGat the wire level) that carry extra, class-specific validation semantics -- a fixed validation regex and a documented meaning. This is the single source of truth for both property validation (PropertyTypeName.getRegexByClass(Class)) and documentation generation (getDescription()/getMappedClass()).Enumis deliberately not one of these constants: each concrete enum class has its own dynamically-generated regex built from its constant names, not a single fixed pattern -- handled directly inPropertyTypeName.getRegexByClass(Class).
-
-
Enum Constant Summary
Enum Constants Enum Constant Description TYPE_VERSIONA version string adhering to the format Major.Minor.Revision.URIString representation of a URI.URLString representation of a URL.UUIDString representation of a UUID.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDescription()Returns a human-readable description of this semantic type, e.g.StringgetJsonType()Returns the JSON-facing name of this semantic type.Class<?>getMappedClass()Returns the Java class this semantic type is mapped to.StringgetRegex()Returns the validation regex for this semantic type.static PropertyTypeName.SemanticTypevalueOf(String name)Returns the enum constant of this type with the specified name.static PropertyTypeName.SemanticType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
UUID
public static final PropertyTypeName.SemanticType UUID
String representation of a UUID.
-
URI
public static final PropertyTypeName.SemanticType URI
String representation of a URI.
-
URL
public static final PropertyTypeName.SemanticType URL
String representation of a URL.
-
TYPE_VERSION
public static final PropertyTypeName.SemanticType TYPE_VERSION
A version string adhering to the format Major.Minor.Revision.
-
-
Method Detail
-
values
public static PropertyTypeName.SemanticType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (PropertyTypeName.SemanticType c : PropertyTypeName.SemanticType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static PropertyTypeName.SemanticType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
getJsonType
public String getJsonType()
Returns the JSON-facing name of this semantic type.- Returns:
- The JSON type name.
-
getMappedClass
public Class<?> getMappedClass()
Returns the Java class this semantic type is mapped to.- Returns:
- The mapped class.
-
getDescription
public String getDescription()
Returns a human-readable description of this semantic type, e.g. for documentation generation.- Returns:
- The description.
-
getRegex
public String getRegex()
Returns the validation regex for this semantic type.- Returns:
- The regex, or
nullif none is defined.
-
-