Enum Class SchemaKeyword

java.lang.Object
java.lang.Enum<SchemaKeyword>
com.github.victools.jsonschema.generator.SchemaKeyword
All Implemented Interfaces:
Serializable, Comparable<SchemaKeyword>, Constable

public enum SchemaKeyword extends Enum<SchemaKeyword>
JSON Schema properties and their values.
  • Enum Constant Details

  • Method Details

    • values

      public static SchemaKeyword[] 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 SchemaKeyword 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
    • forVersion

      public String forVersion(SchemaVersion version)
      Provide the appropriate tag name/value, considering the specified schema version.
      Parameters:
      version - applicable JSON Schema version
      Returns:
      corresponding tag name/value for this keyword in the indicated JSON Schema version
    • getImpliedTypes

      public List<SchemaKeyword.SchemaType> getImpliedTypes()
      Determine which (if any) specific TAG_TYPE values this keyword implies.
      Returns:
      implied type values or an empty list if this keyword is not type specific
    • supportsContentType

      public boolean supportsContentType(SchemaKeyword.TagContent contentType)
      Indicate whether the given kind of values can be expected under this keyword (if it represents a tag). Returns always false for values.
      Parameters:
      contentType - type of content/values to be expected under a schema tag
      Returns:
      whether the given tag content type is supported by this keyword
    • getReverseTagMap

      public static Map<String,SchemaKeyword> getReverseTagMap(SchemaVersion version, Predicate<SchemaKeyword> filter)
      Provide a map over all keywords, that represent a schema tag/property, i.e., not a value.
      Parameters:
      version - schema draft version to look-up keyword for
      filter - additional tag filter to apply
      Returns:
      mapping of schema tag/property name to its corresponding tag