|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.wso2.balana.cond.HigherOrderFunction
public class HigherOrderFunction
Represents all of the higher order bag functions, except map, which has its own class due to the issues with its return type. Unlike the other functions that are designed to work over any types (the type-* functions) these functions don't use specific names to describe what type they operate over, so you don't need to install new instances for any new datatypes you define.
Field Summary | |
---|---|
static String |
NAME_ALL_OF
Standard identifier for the all-of function. |
static String |
NAME_ALL_OF_ALL
Standard identifier for the all-of-all function. |
static String |
NAME_ALL_OF_ANY
Standard identifier for the all-of-any function. |
static String |
NAME_ANY_OF
Standard identifier for the any-of function. |
static String |
NAME_ANY_OF_ALL
Standard identifier for the any-of-all function. |
static String |
NAME_ANY_OF_ANY
Standard identifier for the any-of-any function. |
Constructor Summary | |
---|---|
HigherOrderFunction(String functionName)
Creates a new instance of the given function. |
Method Summary | |
---|---|
void |
checkInputs(List inputs)
Checks that the given inputs are valid for this function. |
void |
checkInputsNoBag(List inputs)
Checks that the given inputs are valid for this function if all inputs are considered to not be bags. |
String |
encode()
Encodes this HigherOrderFunction into its XML form |
void |
encode(StringBuilder builder)
Encodes this HigherOrderFunction into its XML form and writes this out to the provided
StringBuilder |
EvaluationResult |
evaluate(List inputs,
EvaluationCtx context)
Evaluates the function, using the specified parameters. |
URI |
getIdentifier()
Returns the full identifier of this function, as known by the factories. |
URI |
getReturnType()
Returns the type of attribute value that will be returned by this function. |
static Set |
getSupportedIdentifiers()
Returns a Set containing all the function identifiers supported by this class. |
URI |
getType()
Returns the same value as getReturnType . |
boolean |
returnsBag()
Returns whether or not this function will actually return a bag of values. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String NAME_ANY_OF
public static final String NAME_ALL_OF
public static final String NAME_ANY_OF_ANY
public static final String NAME_ALL_OF_ANY
public static final String NAME_ANY_OF_ALL
public static final String NAME_ALL_OF_ALL
Constructor Detail |
---|
public HigherOrderFunction(String functionName)
functionName
- the function to create
IllegalArgumentException
- if the function is unknownMethod Detail |
---|
public static Set getSupportedIdentifiers()
Set
containing all the function identifiers supported by this class.
Set
of String
spublic URI getIdentifier()
getIdentifier
in interface Function
public URI getType()
getReturnType
. This is here to support the
Expression
interface.
getType
in interface Expression
public URI getReturnType()
getReturnType
in interface Function
public boolean returnsBag()
returnsBag
in interface Expression
returnsBag
in interface Function
public EvaluationResult evaluate(List inputs, EvaluationCtx context)
evaluate
in interface Function
inputs
- a List
of Evaluatable
objects representing the
arguments passed to the functioncontext
- an EvaluationCtx
so that the Evaluatable
objects can
be evaluated
EvaluationResult
representing the function's resultpublic void checkInputs(List inputs) throws IllegalArgumentException
checkInputs
in interface Function
inputs
- a List
of Evaluatable
s
IllegalArgumentException
- if the inputs are invalidpublic void checkInputsNoBag(List inputs) throws IllegalArgumentException
checkInputsNoBag
in interface Function
inputs
- a List
of Evaluatable
s
IllegalArgumentException
- alwayspublic String encode()
HigherOrderFunction
into its XML form
encode
in interface Function
String
public void encode(StringBuilder builder)
HigherOrderFunction
into its XML form and writes this out to the provided
StringBuilder
- Specified by:
encode
in interface Expression
- Specified by:
encode
in interface Function
- Parameters:
builder
- string stream into which the XML-encoded data is written
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |