|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Datatype object. This object has the following functionalities:
Method Summary | |
void |
checkValid(java.lang.String literal,
ValidationContext context)
similar to the isValid method but throws an exception with diagnosis in case of errors. |
DatatypeStreamingValidator |
createStreamingValidator(ValidationContext context)
creates an instance of the streaming validator for this type. |
java.lang.Object |
createValue(java.lang.String literal,
ValidationContext context)
converts lexcial value and the current context to the corresponding value object. |
boolean |
isValid(java.lang.String literal,
ValidationContext context)
checks if the specified 'literal' matchs this Datatype under the current context. |
boolean |
sameValue(java.lang.Object value1,
java.lang.Object value2)
tests the equality of two value objects which was originally created by the createValue method of this object. |
int |
valueHashCode(java.lang.Object value)
computes the hash code for a value object, which is consistent with the sameValue method. |
Method Detail |
public boolean isValid(java.lang.String literal, ValidationContext context)
literal
- the lexical representation to be checked.context
- context information that may be
necessary to validate the given literal.public void checkValid(java.lang.String literal, ValidationContext context) throws DatatypeException
If the specified 'literal' is a valid lexical representation for this datatype, then this method must return without throwing any exception. If not, the callee must throw an exception (with diagnosis message, if possible.)
The application can use this method to provide detailed error message to users. This method is kept separate from the isValid method to achieve higher performance during normal validation.
DatatypeException
- If the given literal is invalid, then this exception is thrown.
If the callee supports error diagnosis, then the exception should
contain a diagnosis message.public DatatypeStreamingValidator createStreamingValidator(ValidationContext context) throws java.lang.UnsupportedOperationException
By using streaming validators instead of the isValid method, the caller can avoid keeping the entire string into the memory, which is sometimes quite big.
This method is optional and implementations are free to throw UnsupportedOperationException to indicate that this method is not implemented.
context
- context information that may be
necessary to validate the given literal.
The callee may keep a reference to this context object
only while the returned streaming validator is being used.java.lang.UnsupportedOperationException
- if the streaming validation is not supported by the callee.public java.lang.Object createValue(java.lang.String literal, ValidationContext context)
The caller cannot generally assume that the value object is a meaningful Java object. For example, the caller cannot expect this method to return java.lang.Number type for the "integer" type of XML Schema Part2.
Also, the caller cannot assume that the equals method and the hashCode method
of the value object is consistent with the semantics of the datatype.
For that purpose, the sameValue method and the valueHashCode method have to
be used. Note that this means you cannot use classes like
java.util.Hashtable
to store the value objects.
The returned value object should be used solely for the sameValue method.
public boolean sameValue(java.lang.Object value1, java.lang.Object value2)
public int valueHashCode(java.lang.Object value)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |