org.wso2.balana.cond.xacml3
Class XPathFunction

java.lang.Object
  extended by org.wso2.balana.cond.FunctionBase
      extended by org.wso2.balana.cond.xacml3.XPathFunction
All Implemented Interfaces:
Expression, Function

public class XPathFunction
extends FunctionBase

The class that implement all XPath based functions. An XPath expression evaluates to a node-set, which is a set of XML nodes that match the expression. All comparison or other operations on node-sets are performed in isolation of the particular function specified.


Field Summary
static String NAME_XPATH_NODE_COUNT
          Standard identifier for the xpath-node-count function.
static String NAME_XPATH_NODE_EQUAL
          Standard identifier for the xpath-node-equal function.
static String NAME_XPATH_NODE_MATCH
          Standard identifier for the xpath-node-match function.
 
Fields inherited from class org.wso2.balana.cond.FunctionBase
FUNCTION_NS, FUNCTION_NS_2, FUNCTION_NS_3
 
Constructor Summary
XPathFunction(String functionName)
          Creates a new StringFunction object.
 
Method Summary
 EvaluationResult evaluate(List<Evaluatable> inputs, EvaluationCtx context)
          Evaluates the Function using the given inputs.
static Set<String> getSupportedIdentifiers()
          Returns a Set containing all the function identifiers supported by this class.
 
Methods inherited from class org.wso2.balana.cond.FunctionBase
checkInputs, checkInputsNoBag, encode, encode, evalArgs, getFunctionId, getFunctionName, getIdentifier, getReturnType, getReturnTypeAsString, getType, makeProcessingError, returnsBag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME_XPATH_NODE_COUNT

public static final String NAME_XPATH_NODE_COUNT
Standard identifier for the xpath-node-count function.

See Also:
Constant Field Values

NAME_XPATH_NODE_MATCH

public static final String NAME_XPATH_NODE_MATCH
Standard identifier for the xpath-node-match function.

See Also:
Constant Field Values

NAME_XPATH_NODE_EQUAL

public static final String NAME_XPATH_NODE_EQUAL
Standard identifier for the xpath-node-equal function.

See Also:
Constant Field Values
Constructor Detail

XPathFunction

public XPathFunction(String functionName)
Creates a new StringFunction object.

Parameters:
functionName - the standard XACML name of the function to be handled by this object, including the full namespace
Throws:
IllegalArgumentException - if the function is unknown
Method Detail

getSupportedIdentifiers

public static Set<String> getSupportedIdentifiers()
Returns a Set containing all the function identifiers supported by this class.

Returns:
a Set of Strings

evaluate

public EvaluationResult evaluate(List<Evaluatable> inputs,
                                 EvaluationCtx context)
Description copied from interface: Function
Evaluates the Function using the given inputs. The List contains Evaluatables which are all of the correct type if the Function has been created as part of an Apply or TargetMatch, but which may otherwise be invalid. Each parameter should be evaluated by the Function, unless the Function doesn't need to evaluate all inputs to determine a result (as in the case of the or function). The order of the List is significant, so a Function should have a very good reason if it wants to evaluate the inputs in a different order.

Note that if this is a higher-order function, like any-of, then some argument (typically the first) in the List will actually be a Function object representing the function to apply to some bag. A function needs to know if it's a higher-order function, and therefore whether or not to look for this case. Also, a higher-order function is responsible for checking that the inputs that it will pass to the Function provided as the first parameter are valid, ie. it must do a checkInputs on its sub-function when checkInputs is called on the higher-order function.

Parameters:
inputs - the List of inputs for the function
context - the representation of the request
Returns:
a result containing the AttributeValue computed when evaluating the function, or Status specifying some error condition


Copyright © 2015 WSO2. All rights reserved.