Test whether the given LiteralLabel is a valid instance
of this datatype. This takes into account typing information
as well as lexical form - for example an xsd:string is
never considered valid as an xsd:integer (even if it is
lexically legal like "1").
Compares two instances of values of the given datatype.
This defaults to just testing equality of the java value
representation but datatypes can override this. We pass the
entire LiteralLabel to allow the equality function to take
the xml:lang tag and the datatype itself into account.
int getHashCode(com.hp.hpl.jena.graph.impl.LiteralLabel lit)
Gets the hash code of a given value. This defaults to
lit.getValue().hashCode(), but datatypes can overide this, and array types
Cannonicalise a java Object value to a normal form.
Primarily used in cases such as xsd:integer to reduce
the Java object representation to the narrowest of the Number
subclasses to ensure that indexing of typed literals works.
Normalization. If the value is narrower than the current data type
(e.g. value is xsd:date but the time is xsd:datetime) returns
the narrower type for the literal.
If the type is narrower than the value then it may normalize
the value (e.g. set the mask of an XSDDateTime)
Currently only used to narrow gener XSDDateTime objects
to the minimal XSD date/time type.
value - the current object value
dt - the currently set data type
a narrower version of the datatype based on the actual value range