Enum Class PropertyTypeName.SemanticType

java.lang.Object
java.lang.Enum<PropertyTypeName.SemanticType>
org.gcube.informationsystem.types.PropertyTypeName.SemanticType
All Implemented Interfaces:
Serializable, Comparable<PropertyTypeName.SemanticType>, Constable
Enclosing class:
PropertyTypeName

public static enum PropertyTypeName.SemanticType extends Enum<PropertyTypeName.SemanticType>
String-overlay semantic types: JSON string values (PropertyTypeName.BaseType.STRING at 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()).

Enum is 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 in PropertyTypeName.getRegexByClass(Class).

  • Enum Constant Details

  • Method Details

    • values

      public static PropertyTypeName.SemanticType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static PropertyTypeName.SemanticType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
      NullPointerException - 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 null if none is defined.