|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.security.xacml.sunxacml.cond.Apply
public class Apply
Represents the XACML ApplyType and ConditionType XML types.
Note well: as of 2.0, there is no longer a notion of a separate higher-
order bag function. Instead, if needed, it is supplied as one of the
Expressions in the parameter list. As such, when this
Apply is evaluated, it no longer pre-evaluates all the
parameters if a bag function is used. It is now up to the implementor
of a higher-order function to do this.
Also, as of 2.0, the Apply is no longer used to represent
a Condition, since the XACML 2.0 specification changed how Condition
works. Instead, there is now a Condition class that
represents both 1.x and 2.0 style Conditions.
| Constructor Summary | |
|---|---|
Apply(Function function,
List xprs)
Constructs an Apply instance. |
|
Apply(Function function,
List xprs,
boolean isCondition)
Deprecated. As of 2.0 Apply is no longer used for
Conditions, so the isCondition parameter
is no longer needed. You should now use the 2 parameter
constructor. This constructor will be removed in a
future release. |
|
| Method Summary | |
|---|---|
void |
encode(OutputStream output)
Encodes this Apply into its XML representation and
writes this encoding to the given OutputStream with no
indentation. |
void |
encode(OutputStream output,
Indenter indenter)
Encodes this Apply into its XML representation and
writes this encoding to the given OutputStream with
indentation. |
EvaluationResult |
evaluate(EvaluationCtx context)
Evaluates the apply object using the given function. |
boolean |
evaluatesToBag()
Deprecated. As of 2.0, you should use the returnsBag
method from the super-interface Expression. |
List |
getChildren()
Returns the List of children for this Apply. |
static Apply |
getConditionInstance(Node root,
String xpathVersion)
Deprecated. As of 2.0 you should avoid using this method, since it does not provide a Condition instance and
does not handle XACML 2.0 policies correctly. If you need
a similar method you can use the new version that
accepts a VariableManager. This will return
an Apply instance for XACML 1.x policies. |
static Apply |
getConditionInstance(Node root,
String xpathVersion,
VariableManager manager)
Returns an instance of an Apply based on the given DOM
root node. |
Function |
getFunction()
Returns the Function used by this Apply. |
static Apply |
getInstance(Node root,
PolicyMetaData metaData,
VariableManager manager)
Returns an instance of Apply based on the given DOM root. |
static Apply |
getInstance(Node root,
String xpathVersion)
Deprecated. As of 2.0 you should avoid using this method, since it does not handle XACML 2.0 policies correctly. If you need a similar method you can use the new version that accepts a VariableManager. This will return
an Apply instance for XACML 1.x policies. |
URI |
getType()
Returns the type of attribute that this object will return on a call to evaluate. |
boolean |
isCondition()
Deprecated. As of 2.0 this method should not be used, since an Apply is never a Condition. |
boolean |
returnsBag()
Returns whether or not the Function will return a bag
of values on evaluation. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Apply(Function function,
List xprs)
throws IllegalArgumentException
Apply instance.
function - the Function to use in evaluating the
elements in the applyxprs - the contents of the apply which will be the parameters
to the function, each of which is an
Expression
IllegalArgumentException - if the input expressions don't
match the signature of the function
public Apply(Function function,
List xprs,
boolean isCondition)
throws IllegalArgumentException
Apply is no longer used for
Conditions, so the isCondition parameter
is no longer needed. You should now use the 2 parameter
constructor. This constructor will be removed in a
future release.
Apply instance.
function - the Function to use in evaluating the
elements in the applyxprs - the contents of the apply which will be the parameters
to the function, each of which is an
ExpressionisCondition - as of 2.0, this must always be false
IllegalArgumentException - if the input expressions don't
match the signature of the function or
if isCondition is true| Method Detail |
|---|
public static Apply getConditionInstance(Node root,
String xpathVersion,
VariableManager manager)
throws ParsingException
Apply based on the given DOM
root node. This will actually return a special kind of
Apply, namely an XML ConditionType, which is the root
of the condition logic in a RuleType. A ConditionType is the same
as an ApplyType except that it must use a FunctionId that returns
a boolean value.
Note that as of 2.0 there is a separate Condition class
used to support the different kinds of Conditions in XACML 1.x and
2.0. As such, the system no longer treats a ConditionType as a
special kind of ApplyType. You may still use this method to get a
1.x style ConditionType, but you will need to convert it into a
Condition to use it in evaluation. The preferred way
to create a Condition is now through the getInstance
method on Condition.
root - the DOM root of a ConditionType XML typexpathVersion - the XPath version to use in any selectors or XPath
functions, or null if this is unspecified (ie, not
supplied in the defaults section of the policy)manager - VariableManager used to connect references
and definitions while parsing
ParsingException - if this is not a valid ConditionType
public static Apply getConditionInstance(Node root,
String xpathVersion)
throws ParsingException
Condition instance and
does not handle XACML 2.0 policies correctly. If you need
a similar method you can use the new version that
accepts a VariableManager. This will return
an Apply instance for XACML 1.x policies.
Apply based on the given DOM
root node. This will actually return a special kind of
Apply, namely an XML ConditionType, which is the root
of the condition logic in a RuleType. A ConditionType is the same
as an ApplyType except that it must use a FunctionId that returns
a boolean value.
root - the DOM root of a ConditionType XML typexpathVersion - the XPath version to use in any selectors or XPath
functions, or null if this is unspecified (ie, not
supplied in the defaults section of the policy)
ParsingException - if this is not a valid ConditionType
public static Apply getInstance(Node root,
PolicyMetaData metaData,
VariableManager manager)
throws ParsingException
Apply based on the given DOM root.
root - the DOM root of an ApplyType XML typemetaData - the meta-data associated with the containing policymanager - VariableManager used to connect references
and definitions while parsing
ParsingException - if this is not a valid ApplyType
public static Apply getInstance(Node root,
String xpathVersion)
throws ParsingException
VariableManager. This will return
an Apply instance for XACML 1.x policies.
Apply based on the given DOM root.
root - the DOM root of an ApplyType XML typexpathVersion - the XPath version to use in any selectors or XPath
functions, or null if this is unspecified (ie, not
supplied in the defaults section of the policy)
ParsingException - if this is not a valid ApplyTypepublic Function getFunction()
Function used by this Apply.
Functionpublic List getChildren()
List of children for this Apply.
The List contains Expressions. The list is
unmodifiable, and may be empty.
getChildren in interface EvaluatableList of Expressionspublic boolean isCondition()
Apply is never a Condition.
public EvaluationResult evaluate(EvaluationCtx context)
Apply objects.
evaluate in interface Evaluatablecontext - the representation of the request
public URI getType()
evaluate. In practice, this will always be the same as
the result of calling getReturnType on the function used
by this object.
getType in interface Expressionevaluatepublic boolean returnsBag()
Function will return a bag
of values on evaluation.
returnsBag in interface Expressionpublic boolean evaluatesToBag()
returnsBag
method from the super-interface Expression.
Function will return a bag
of values on evaluation.
evaluatesToBag in interface Evaluatablepublic void encode(OutputStream output)
Apply into its XML representation and
writes this encoding to the given OutputStream with no
indentation.
encode in interface Expressionoutput - a stream into which the XML-encoded data is written
public void encode(OutputStream output,
Indenter indenter)
Apply into its XML representation and
writes this encoding to the given OutputStream with
indentation.
encode in interface Expressionoutput - a stream into which the XML-encoded data is writtenindenter - an object that creates indentation strings
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||