public abstract class AbstractDatatype
extends java.lang.Object
implements org.relaxng.datatype.Datatype
Datatype
interface and leaves a new checkValid
for
subclasses to implement.Modifier and Type | Class and Description |
---|---|
protected class |
AbstractDatatype.CharSequenceWithOffset |
Modifier and Type | Method and Description |
---|---|
abstract void |
checkValid(java.lang.CharSequence literal) |
void |
checkValid(java.lang.String literal,
org.relaxng.datatype.ValidationContext context)
Delegates to
checkValid(CharSequence literal) . |
org.relaxng.datatype.DatatypeStreamingValidator |
createStreamingValidator(org.relaxng.datatype.ValidationContext context)
Merely returns a
DatatypeStreamingValidatorImpl . |
java.lang.Object |
createValue(java.lang.String literal,
org.relaxng.datatype.ValidationContext context)
Implements strict string equality semantics by returning
literal
itself. |
int |
getIdType()
Always returns
Datatype.ID_TYPE_NULL . |
abstract java.lang.String |
getName() |
protected boolean |
isAsciiDigit(char c) |
boolean |
isContextDependent()
Returns
false |
boolean |
isValid(java.lang.String literal,
org.relaxng.datatype.ValidationContext context)
Calls
checkValid(CharSequence literal) . |
protected boolean |
isWhitespace(char c)
Checks if a UTF-16 code unit represents a whitespace character (U+0020,
U+0009, U+000C, U+000D or U+000A).
|
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String message) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String message,
boolean warning) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String head,
char literal,
java.lang.String tail) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String head,
char literal,
java.lang.String tail,
boolean warning) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String head,
java.lang.String literal,
java.lang.String tail) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(int position,
java.lang.String head,
java.lang.String literal,
java.lang.String tail,
boolean warning) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String message) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String message,
boolean warning) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String head,
char literal,
java.lang.String tail) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String head,
char literal,
java.lang.String tail,
boolean warning) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String head,
java.lang.String literal,
java.lang.String tail) |
protected org.relaxng.datatype.DatatypeException |
newDatatypeException(java.lang.String head,
java.lang.String literal,
java.lang.String tail,
boolean warning) |
boolean |
sameValue(java.lang.Object value1,
java.lang.Object value2)
Implements strict string equality semantics by performing a standard
equals check on the arguments. |
protected java.util.List<AbstractDatatype.CharSequenceWithOffset> |
split(java.lang.CharSequence sequence,
char delimiter) |
protected static char |
toAsciiLowerCase(char c) |
protected static java.lang.String |
toAsciiLowerCase(java.lang.CharSequence str) |
protected static char |
toAsciiUpperCase(char c) |
protected static java.lang.String |
toAsciiUpperCase(java.lang.CharSequence str) |
int |
valueHashCode(java.lang.Object value)
Implements strict stirng equality semantics by returning the
java.lang.Object -level hashCode of
the object. |
public final boolean isValid(java.lang.String literal, org.relaxng.datatype.ValidationContext context)
checkValid(CharSequence literal)
.isValid
in interface org.relaxng.datatype.Datatype
literal
- the valuecontext
- the validation context (ignored by subclasses)true
if valid and false
if notDatatype.isValid(java.lang.String, org.relaxng.datatype.ValidationContext)
public void checkValid(java.lang.String literal, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeException
checkValid(CharSequence literal)
.checkValid
in interface org.relaxng.datatype.Datatype
literal
- the valuecontext
- the validation context (ignored by subclasses)org.relaxng.datatype.DatatypeException
- if the literal does not conform to the datatype definitionDatatype.checkValid(java.lang.String, org.relaxng.datatype.ValidationContext)
public abstract void checkValid(java.lang.CharSequence literal) throws org.relaxng.datatype.DatatypeException
org.relaxng.datatype.DatatypeException
public org.relaxng.datatype.DatatypeStreamingValidator createStreamingValidator(org.relaxng.datatype.ValidationContext context)
DatatypeStreamingValidatorImpl
.createStreamingValidator
in interface org.relaxng.datatype.Datatype
context
- the validation context (ignored by subclasses)DatatypeStreamingValidator
Datatype.createStreamingValidator(org.relaxng.datatype.ValidationContext)
public java.lang.Object createValue(java.lang.String literal, org.relaxng.datatype.ValidationContext context)
literal
itself.createValue
in interface org.relaxng.datatype.Datatype
literal
- the value (get returned)context
- ignoredliteral
that was passed inDatatype.createValue(java.lang.String, org.relaxng.datatype.ValidationContext)
public final boolean sameValue(java.lang.Object value1, java.lang.Object value2)
equals
check on the arguments.sameValue
in interface org.relaxng.datatype.Datatype
value1
- an object returned by createValue
value2
- another object returned by createValue
true
if the values are equal, false
otherwiseDatatype.sameValue(java.lang.Object, java.lang.Object)
public final int valueHashCode(java.lang.Object value)
java.lang.Object
-level hashCode
of
the object.valueHashCode
in interface org.relaxng.datatype.Datatype
value
- an object returned by createValue
Datatype.valueHashCode(java.lang.Object)
public final int getIdType()
Datatype.ID_TYPE_NULL
.getIdType
in interface org.relaxng.datatype.Datatype
Datatype.ID_TYPE_NULL
Datatype.getIdType()
public boolean isContextDependent()
false
isContextDependent
in interface org.relaxng.datatype.Datatype
false
Datatype.isContextDependent()
protected final boolean isWhitespace(char c)
c
- the code unittrue
if whitespace, false
otherwiseprotected final boolean isAsciiDigit(char c)
protected static final char toAsciiLowerCase(char c)
protected static final java.lang.String toAsciiLowerCase(java.lang.CharSequence str)
protected static final char toAsciiUpperCase(char c)
protected static final java.lang.String toAsciiUpperCase(java.lang.CharSequence str)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String message)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String head, java.lang.String literal, java.lang.String tail)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String head, char literal, java.lang.String tail)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String message)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String head, java.lang.String literal, java.lang.String tail)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String head, char literal, java.lang.String tail)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String message, boolean warning)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String head, java.lang.String literal, java.lang.String tail, boolean warning)
protected org.relaxng.datatype.DatatypeException newDatatypeException(java.lang.String head, char literal, java.lang.String tail, boolean warning)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String message, boolean warning)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String head, java.lang.String literal, java.lang.String tail, boolean warning)
protected org.relaxng.datatype.DatatypeException newDatatypeException(int position, java.lang.String head, char literal, java.lang.String tail, boolean warning)
public abstract java.lang.String getName()
protected java.util.List<AbstractDatatype.CharSequenceWithOffset> split(java.lang.CharSequence sequence, char delimiter)