Class CastFunction
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.evaluation.function.xsd.CastFunction
-
- All Implemented Interfaces:
Function
- Direct Known Subclasses:
BooleanCast,DateCast,DateTimeCast,DecimalCast,DoubleCast,FloatCast,IntegerCastFunction,StringCast
public abstract class CastFunction extends Object implements Function
Abstract superclass forFunctions that cast an argument to an XML Schema datatype.- Author:
- Jeen Broekstra
- See Also:
XSD
-
-
Constructor Summary
Constructors Constructor Description CastFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected abstract Literalconvert(ValueFactory vf, Value v)Convert the supplied value to a literal of the function output datatype.Literalevaluate(ValueFactory valueFactory, Value... args)Evaluate the function over the supplied input arguments, using the suppliedValueFactoryto produce the result.protected abstract CoreDatatype.XSDgetCoreXsdDatatype()StringgetURI()protected IRIgetXsdDatatype()Deprecated, for removal: This API element is subject to removal in a future version.protected StringgetXsdName()Returns a prefixed name representation of the specific datatype that this function returnsprotected abstract booleanisValidForDatatype(String lexicalValue)Verifies that the supplied lexical value is valid for the datatype.protected ValueExprEvaluationExceptiontypeError(Value arg, Throwable cause)Creates aValueExprEvaluationExceptionthat 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
-
-
-
-
Method Detail
-
evaluate
public Literal evaluate(ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
Description copied from interface:FunctionEvaluate the function over the supplied input arguments, using the suppliedValueFactoryto produce the result.- Specified by:
evaluatein interfaceFunction- Parameters:
valueFactory- aValueFactoryto use for producing the function result.args- the function input arguments.- Returns:
- the function result value.
- Throws:
ValueExprEvaluationException
-
convert
protected abstract Literal convert(ValueFactory vf, Value v) throws ValueExprEvaluationException
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
@Deprecated(since="5.0.0", forRemoval=true) protected IRI getXsdDatatype()
Deprecated, for removal: This API element is subject to removal in a future version.Get the specific XML Schema datatype which this function returns.- Returns:
- an XML Schema datatype IRI
-
getCoreXsdDatatype
protected abstract CoreDatatype.XSD getCoreXsdDatatype()
-
getXsdName
protected String getXsdName()
Returns a prefixed name representation of the specific datatype that this function returns- Returns:
- a prefixed name, e.g. 'xsd:integer'.
-
isValidForDatatype
protected abstract boolean isValidForDatatype(String lexicalValue)
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
protected final ValueExprEvaluationException typeError(Value arg, Throwable cause)
Creates aValueExprEvaluationExceptionthat signals a type error.- Parameters:
arg- the function argument value.cause- root cause throwable. May be null.- Returns:
- a
ValueExprEvaluationExceptionwith a standardized message and wrapped cause.
-
-