Interface DatabindableDatatype

All Superinterfaces:
org.relaxng.datatype.Datatype
All Known Subinterfaces:
XSDatatype
All Known Implementing Classes:
AnyURIType, Base64BinaryType, BinaryBaseType, BooleanType, BuiltinAtomicType, ByteType, ConcreteType, DataTypeWithFacet, DataTypeWithLexicalConstraintFacet, DataTypeWithValueConstraintFacet, DateTimeBaseType, DateTimeType, DateType, DoubleType, DurationType, EntityType, EnumerationFacet, ErrorType, FinalComponent, FloatingNumberType, FloatType, FractionDigitsFacet, GDayType, GMonthDayType, GMonthType, GYearMonthType, GYearType, HexBinaryType, IDREFType, IDType, IntegerDerivedType, IntegerType, IntType, LanguageType, LengthFacet, ListType, LongType, MaxExclusiveFacet, MaxInclusiveFacet, MaxLengthFacet, MinExclusiveFacet, MinInclusiveFacet, MinLengthFacet, NameType, NcnameType, NegativeIntegerType, NmtokenType, NonNegativeIntegerType, NonPositiveIntegerType, NormalizedStringType, NumberType, PatternFacet, PositiveIntegerType, Proxy, QnameType, RangeFacet, ShortType, SimpleURType, StringType, TimeType, TokenType, TotalDigitsFacet, UnionType, UnsignedByteType, UnsignedIntType, UnsignedLongType, UnsignedShortType, WhiteSpaceFacet, XSDatatypeImpl

public interface DatabindableDatatype extends org.relaxng.datatype.Datatype
Datatype interface that supports Java databinding. This interface can be used to do java/xml databinding.
  • Field Summary

    Fields inherited from interface org.relaxng.datatype.Datatype

    ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULL
  • Method Summary

    Modifier and Type
    Method
    Description
    createJavaObject(String literal, org.relaxng.datatype.ValidationContext context)
    converts lexcial value to a corresponding Java-friendly object by using the given context information.
    gets the type of the objects that are created by the createJavaObject method.
    converts a value object back to the lexical representation.

    Methods inherited from interface org.relaxng.datatype.Datatype

    checkValid, createStreamingValidator, createValue, getIdType, isContextDependent, isValid, sameValue, valueHashCode
  • Method Details

    • createJavaObject

      Object createJavaObject(String literal, org.relaxng.datatype.ValidationContext context)
      converts lexcial value to a corresponding Java-friendly object by using the given context information.

      For the actual types returned by each type, see here.

      Note that due to the difference between those Java friendly types and actual XML Schema specification, the returned object sometimes loses accuracy. For example, the "time" type allows "0.0000000000001 sec" which cannot be represented in java.util.Calendar class.

      Returns:
      null when the given lexical value is not a valid lexical value for this type.
    • serializeJavaObject

      String serializeJavaObject(Object value, SerializationContext context) throws IllegalArgumentException
      converts a value object back to the lexical representation.

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

      Parameters:
      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.
      Throws:
      IllegalArgumentException - If the type of the specified value object is not recognized, this exception is thrown. For example, if you pass a String object to the serializeJavaObject method of the "positiveInteger" type, this exception is thrown.
    • getJavaObjectType

      Class getJavaObjectType()
      gets the type of the objects that are created by the createJavaObject method.