public abstract class AbstractFunction extends com.complexible.stardog.plan.filter.AbstractExpression implements Function
Abstract stub implementation of a Function. Checks that the arguments to the function meet the expected number of arguments before evaluating the function.
Modifier | Constructor and Description |
---|---|
protected |
AbstractFunction(AbstractFunction theFunction) |
protected |
AbstractFunction(int theNumReqArgs,
String... theURIs) |
protected |
AbstractFunction(List<com.complexible.stardog.plan.filter.Expression> theExpressions,
int theNumReqArgs,
String... theURIs)
Create a new AbstractFunction
|
protected |
AbstractFunction(List<com.complexible.stardog.plan.filter.Expression> theExpressions,
com.google.common.collect.Range<Integer> theRange,
String... theURIs)
Create a new AbstractFunction
|
protected |
AbstractFunction(com.google.common.collect.Range<Integer> theNumReqArgs,
String... theURIs) |
Modifier and Type | Method and Description |
---|---|
static boolean |
assertArrayLiteral(Value theValue)
Assert that the literal is an array literal.
|
protected boolean |
assertBNode(Value theValue)
Assert that the value is a BNode
|
protected boolean |
assertDecimalLiteral(Value theValue)
Assert that the literal is a decimal literal.
|
static boolean |
assertIntegerLiteral(Value theValue)
Assert that the literal is an integer literal.
|
protected boolean |
assertIRI(Value theValue)
Assert that the value is a URI
|
static boolean |
assertLiteral(Value theValue)
Assert that the value is a literal
|
protected boolean |
assertLiteral(Value theValue,
Predicate<Datatype> theDatatypeChecker) |
protected boolean |
assertNumericLiteral(Value theValue)
Assert that the literal is a numeric literal
|
static boolean |
assertPathLiteral(Value theValue) |
protected boolean |
assertRequiredArgs(int theArgs)
Validate that the arguments passed to the function match the expected number
|
protected boolean |
assertSimpleLiteral(Value theValue)
Assert that the value is a simple literal
|
protected boolean |
assertStatement(Value theValue)
Assert that the value is a
Statement |
static boolean |
assertStringLiteral(Value theValue)
Assert that the value is a String literal
|
protected boolean |
assertTypedLiteral(Value theValue,
Datatype theDatatype)
Assert that the literal has the provided datatype
|
boolean |
equals(Object o) |
com.complexible.stardog.plan.filter.expr.ValueOrError |
evaluate(Value... theValues)
Directly evaluate the function for the given arguments
|
com.complexible.stardog.plan.filter.expr.ValueOrError |
evaluate(com.complexible.stardog.plan.filter.expr.ValueOrError... theValues)
Directly evaluate the function for the given arguments
|
com.complexible.stardog.plan.filter.expr.ValueOrError |
evaluate(com.complexible.stardog.plan.filter.ValueSolution theArgs) |
String |
getName()
Return the string that uniquely identifies this
Expression , which should be a fully qualified URI. |
List<String> |
getNames()
Return all the strings that uniquely identifies this
Function . |
int |
hashCode() |
protected abstract com.complexible.stardog.plan.filter.expr.ValueOrError |
internalEvaluate(Value... theArgs)
Evaluate the function
|
void |
setArgs(List<com.complexible.stardog.plan.filter.Expression> theArgs) |
String |
toString() |
getArg, getArgs, getFirstArg, getSecondArg, getThirdArg, replaceArg
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
copy, initialize
protected AbstractFunction(int theNumReqArgs, String... theURIs)
protected AbstractFunction(com.google.common.collect.Range<Integer> theNumReqArgs, String... theURIs)
protected AbstractFunction(List<com.complexible.stardog.plan.filter.Expression> theExpressions, int theNumReqArgs, String... theURIs)
theNumReqArgs
- the number of required arguments.theURIs
- the URIs of the function. These are the URI's which identify this function in a SPARQL query.protected AbstractFunction(List<com.complexible.stardog.plan.filter.Expression> theExpressions, com.google.common.collect.Range<Integer> theRange, String... theURIs)
theRange
- the range of valid #'s of arguments to the function.theURIs
- the URIs of the function. These are the URI's which identify this function in a SPARQL query.protected AbstractFunction(AbstractFunction theFunction)
public void setArgs(List<com.complexible.stardog.plan.filter.Expression> theArgs)
setArgs
in interface com.complexible.stardog.plan.filter.Expression
setArgs
in class com.complexible.stardog.plan.filter.AbstractExpression
public boolean equals(Object o)
equals
in class com.complexible.stardog.plan.filter.AbstractExpression
public int hashCode()
hashCode
in class com.complexible.stardog.plan.filter.AbstractExpression
public String toString()
toString
in class com.complexible.stardog.plan.filter.AbstractExpression
public final String getName()
Expression
, which should be a fully qualified URI. This
URI is what is used to reference this Expression
in a SPARQL query.public final List<String> getNames()
Function
. A function may have different names
in different namespaces.getNames
in interface Function
Function
Function.getName()
public final com.complexible.stardog.plan.filter.expr.ValueOrError evaluate(com.complexible.stardog.plan.filter.ValueSolution theArgs)
evaluate
in interface com.complexible.stardog.plan.filter.Expression
public com.complexible.stardog.plan.filter.expr.ValueOrError evaluate(com.complexible.stardog.plan.filter.expr.ValueOrError... theValues)
theValues
- the arguments to the functionpublic com.complexible.stardog.plan.filter.expr.ValueOrError evaluate(Value... theValues)
theValues
- the arguments to the functionprotected abstract com.complexible.stardog.plan.filter.expr.ValueOrError internalEvaluate(Value... theArgs)
theArgs
- the arguments to the functionprotected boolean assertRequiredArgs(int theArgs)
theArgs
- the arguments to validateprotected final boolean assertIRI(Value theValue)
theValue
- the valueprotected final boolean assertStatement(Value theValue)
Statement
theValue
- the valueprotected final boolean assertBNode(Value theValue)
theValue
- the valuepublic static final boolean assertLiteral(Value theValue)
theValue
- the valuepublic static final boolean assertStringLiteral(Value theValue)
theValue
- the valueprotected final boolean assertTypedLiteral(Value theValue, Datatype theDatatype)
theValue
- the valueprotected final boolean assertNumericLiteral(Value theValue)
theValue
- the valueprotected final boolean assertDecimalLiteral(Value theValue)
theValue
- the valuepublic static final boolean assertIntegerLiteral(Value theValue)
theValue
- the valuepublic static final boolean assertArrayLiteral(Value theValue)
theValue
- the valuepublic static final boolean assertPathLiteral(Value theValue)
protected final boolean assertSimpleLiteral(Value theValue)
theValue
- the valueCopyright © 2010-2016 Stardog Union. All Rights Reserved.