public interface DatabindableDatatype
extends org.relaxng.datatype.Datatype
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
createJavaObject(java.lang.String literal,
org.relaxng.datatype.ValidationContext context)
converts lexcial value to a corresponding Java-friendly object
by using the given context information.
|
java.lang.Class |
getJavaObjectType()
gets the type of the objects that are created by the createJavaObject method.
|
java.lang.String |
serializeJavaObject(java.lang.Object value,
SerializationContext context)
converts a value object back to the lexical representation.
|
java.lang.Object createJavaObject(java.lang.String literal, org.relaxng.datatype.ValidationContext context)
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.
java.lang.String serializeJavaObject(java.lang.Object value, SerializationContext context) throws java.lang.IllegalArgumentException
This method is a kind of the "reverse" function of the createJavaObject method.
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.java.lang.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.
java.lang.Class getJavaObjectType()