Class BinaryBaseType

All Implemented Interfaces:
DatabindableDatatype, Discrete, XSDatatype, Serializable, org.relaxng.datatype.Datatype
Direct Known Subclasses:
Base64BinaryType, HexBinaryType

abstract class BinaryBaseType extends BuiltinAtomicType implements Discrete
base implementation for "hexBinary" and "base64Binary" types.
  • Field Details

  • Constructor Details

    • BinaryBaseType

      BinaryBaseType(String typeName)
  • Method Details

    • isFacetApplicable

      public final int isFacetApplicable(String facetName)
      Description copied from interface: XSDatatype
      returns if the specified facet is applicable to this datatype.
      Specified by:
      isFacetApplicable in interface XSDatatype
      Returns:
      APPLICABLE
      if the facet is applicable
      FIXED
      if the facet is already fixed (that is,not applicable)
      NOT_ALLOWED
      if the facet is not applicable to this datatype at all. this value is also returned for unknown facets.
    • getBaseType

      public final XSDatatype getBaseType()
      Description copied from interface: XSDatatype
      gets the base type of this type. This method returns null if this object represents the simple ur-type.

      This method is intended to capture the semantics of the base type definition property of the simple type component, but there is an important difference.

      Specifically, if you derive a type D from another type B, then calling D.getBaseType() does not necessarily return B. Instead, it may return an intermediate object (that represents a facet). Calling the getBaseType method recursively will eventually return B.

      Specified by:
      getBaseType in interface XSDatatype
    • countLength

      public final int countLength(Object value)
      Description copied from interface: Discrete
      count the number of item in value type. Actual semantics of this method varies.
      Specified by:
      countLength in interface Discrete
    • _createJavaObject

      public Object _createJavaObject(String literal, org.relaxng.datatype.ValidationContext context)
      Overrides:
      _createJavaObject in class ConcreteType
    • serializeJavaObject

      public abstract String serializeJavaObject(Object value, SerializationContext context)
      Description copied from interface: DatabindableDatatype
      converts a value object back to the lexical representation.

      This method is a kind of the "reverse" function of the createJavaObject method.

      Specified by:
      serializeJavaObject in interface DatabindableDatatype
      Overrides:
      serializeJavaObject in class ConcreteType
      context - The context object is used to obtain information necessary to serialize the value object. For example, QName type uses the context to encode the URI into a prefix.
      Returns:
      null if the given object is invalid with respect to this datatype.
    • getJavaObjectType

      public Class getJavaObjectType()
      Description copied from interface: DatabindableDatatype
      gets the type of the objects that are created by the createJavaObject method.
      Specified by:
      getJavaObjectType in interface DatabindableDatatype