Interface PropertyType

All Superinterfaces:
Serializable
All Known Subinterfaces:
ArrayType, SimpleType, StructType, UnspecifiedType

public interface PropertyType extends Serializable
The base interface for all XMP property types, which are
  • SimpleType (describes simple properties),
  • ArrayType (describes array properties),
  • StructType (describes struct properties),
  • UnspecifiedType (this is only used during schema parsing)
  • Method Details

    • getName

      String getName()
      The name of the property type is optional. It is only used to register it in the TypeRegistry so that it can be re-used. Names are also used to point to the core XMP types, that are defined in the specifications and are available as include files for RelaxNG.
      Returns:
      Returns the name of the type.
    • setName

      void setName(String name)
      Parameters:
      name - the type name to set.
    • getLabel

      String getLabel()
      Returns:
      Returns the default label of the property type in English.
    • setLabel

      void setLabel(String label)
      Parameters:
      label - the default label to set
    • getDescription

      String getDescription()
      Returns:
      Returns the default description of the property type in English.
    • setDescription

      void setDescription(String description)
      Parameters:
      description - the default description to set
    • getRule

      TypeRule getRule()
      Returns:
      Returns the rule that constrain this array. This rule can be the root of a logic tree.
    • setRule

      void setRule(TypeRule rule)
      Add the root rule of a logic tree. There are restrictions on the rules allowed depending on the data type.
      Parameters:
      rule - the rule to add
    • accept

      void accept(SchemaVisitor schemaVisitor) throws XMPSchemaException
      Parameters:
      schemaVisitor - a visitor that implements the SchemaVisitor-interface
      Throws:
      XMPSchemaException - Handles visitor exceptions