Package com.stardog.stark.io.datatypes
Class XMLSchemaDatatypeHandler
- java.lang.Object
-
- com.stardog.stark.io.datatypes.XMLSchemaDatatypeHandler
-
- All Implemented Interfaces:
DatatypeHandler
public final class XMLSchemaDatatypeHandler extends java.lang.Object implements DatatypeHandler
An implementation of a datatype handler that can processXSDdatatypes.Implemented using
XMLDatatypes.- Since:
- 1.0
- Version:
- 1.0
- Author:
- Peter Ansell, Michael Grove
-
-
Constructor Summary
Constructors Constructor Description XMLSchemaDatatypeHandler()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisRecognizedDatatype(IRI datatypeUri)Checks if the given datatypeIRIis recognized by this `DatatypeHandler`.java.lang.Stringkey()A unique key for this datatype handler to identify it in theLiteralnormalizeDatatype(java.lang.String theValue, Datatype theDatatype)Normalize both the datatype and the literal value if appropriate, and generate a literal with the provided value and datatype.booleanverifyDatatype(java.lang.String theValue, Datatype theDatatype)Verifies that the datatype is valid, including a check on the structure of the literal value.
-
-
-
Method Detail
-
isRecognizedDatatype
public boolean isRecognizedDatatype(@Nonnull IRI datatypeUri)Checks if the given datatypeIRIis recognized by this `DatatypeHandler`.- Specified by:
isRecognizedDatatypein interfaceDatatypeHandler- Parameters:
datatypeUri- The datatype URI to check.- Returns:
- `true` if the datatype is syntactically valid and could be used with
DatatypeHandler.verifyDatatype(String, Datatype)andDatatypeHandler.normalizeDatatype(String, Datatype).
-
verifyDatatype
public boolean verifyDatatype(@Nonnull java.lang.String theValue, @Nonnull Datatype theDatatype)Verifies that the datatype is valid, including a check on the structure of the literal value.This method must only be called after verifying that
DatatypeHandler.isRecognizedDatatype(IRI)returns true for the given datatype URI.- Specified by:
verifyDatatypein interfaceDatatypeHandler- Parameters:
theValue- Literal value matching the given datatype URI.theDatatype- A datatype that matched withDatatypeHandler.isRecognizedDatatype(IRI)- Returns:
- True if the datatype URI is recognized by this datatype handler,
and it is verified to be syntactically valid. An implementation may throw
InvalidLiteralexception if the datatype is not recognized
-
normalizeDatatype
@Nonnull public Literal normalizeDatatype(@Nonnull java.lang.String theValue, @Nonnull Datatype theDatatype) throws InvalidLiteral
Normalize both the datatype and the literal value if appropriate, and generate a literal with the provided value and datatype. This method must only be called after verifying thatDatatypeHandler.isRecognizedDatatype(IRI)returns true for the given datatype URI, andDatatypeHandler.verifyDatatype(String, Datatype)also returns true for the given datatype and literal value.- Specified by:
normalizeDatatypein interfaceDatatypeHandler- Parameters:
theValue- Required literal value to use in the normalization process and to provide the value for the resulting literal.theDatatype- The datatype which is to be normalized. It is available in normalized form from the result usingLiteral.datatype().- Returns:
- A
Literalcontaining the normalized literal value and datatype URI. An implementation may throwInvalidLiteralexception if the datatype is not recognized or cannot be normalized for any reason, e.g. its value is not legal for its datatype. - Throws:
InvalidLiteral
-
key
public java.lang.String key()
A unique key for this datatype handler to identify it in the- Specified by:
keyin interfaceDatatypeHandler- Returns:
- A unique string key.
-
-