Class CastFunction
java.lang.Object
org.eclipse.rdf4j.query.algebra.evaluation.function.xsd.CastFunction
- All Implemented Interfaces:
Function
- Direct Known Subclasses:
BooleanCast
,DateTimeCast
,DecimalCast
,DoubleCast
,FloatCast
,IntegerCastFunction
,StringCast
Abstract superclass for
Function
s that cast an argument
to an XML Schema datatype.- Author:
- Jeen Broekstra
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Literal
convert
(ValueFactory vf, Value v) Convert the supplied value to a literal of the function output datatype.evaluate
(ValueFactory valueFactory, Value... args) Evaluate the function over the supplied input arguments, using the suppliedValueFactory
to produce the result.final String
getURI()
protected abstract IRI
Get the specific XML Schema datatype which this function returns.protected String
Returns a prefixed name representation of the specific datatype that this function returnsprotected abstract boolean
isValidForDatatype
(String lexicalValue) Verifies that the supplied lexical value is valid for the datatype.protected final ValueExprEvaluationException
Creates aValueExprEvaluationException
that signals a type error.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.query.algebra.evaluation.function.Function
evaluate, mustReturnDifferentResult
-
Constructor Details
-
CastFunction
public CastFunction()
-
-
Method Details
-
getURI
-
evaluate
public Literal evaluate(ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException Description copied from interface:Function
Evaluate the function over the supplied input arguments, using the suppliedValueFactory
to produce the result.- Specified by:
evaluate
in interfaceFunction
- Parameters:
valueFactory
- aValueFactory
to use for producing the function result.args
- the function input arguments.- Returns:
- the function result value.
- Throws:
ValueExprEvaluationException
-
convert
Convert the supplied value to a literal of the function output datatype.- Parameters:
vf
- the valueFactory to usev
- a value that is not a string-typed literal, and not a literal of the same datatype as the function output datatype.- Returns:
- a literal value of the function output datatype
- Throws:
ValueExprEvaluationException
- if an error occurs in conversion.
-
getXsdDatatype
Get the specific XML Schema datatype which this function returns.- Returns:
- an XML Schema datatype IRI
-
getXsdName
Returns a prefixed name representation of the specific datatype that this function returns- Returns:
- a prefixed name, e.g. 'xsd:integer'.
-
isValidForDatatype
Verifies that the supplied lexical value is valid for the datatype.- Parameters:
lexicalValue
- a lexical value- Returns:
- true if the lexical value is valid for the datatype, false otherwise.
-
typeError
Creates aValueExprEvaluationException
that signals a type error.- Parameters:
arg
- the function argument value.cause
- root cause throwable. May be null.- Returns:
- a
ValueExprEvaluationException
with a standardized message and wrapped cause.
-