public class SelectorModule extends AttributeFinderModule
AttributeSelector
so that
programmers can remove this functionality if they want (it's optional in
the spec), so they can replace this code with more efficient, specific
code as needed, and so they can easily swap in different XPath libraries.
Note that if no matches are found, this module will return an empty bag
(unless some error occurred). The AttributeSelector
is still
deciding what to return to the policy based on the MustBePresent
attribute.
This module uses the Xalan XPath implementation, and supports only version 1.0 of XPath. It is a fully functional, correct implementation of XACML's AttributeSelector functionality, but is not designed for environments that make significant use of XPath queries. Developers for any such environment should consider implementing their own module.
Constructor and Description |
---|
SelectorModule() |
Modifier and Type | Method and Description |
---|---|
EvaluationResult |
findAttribute(String path,
Node namespaceNode,
URI type,
EvaluationCtx context,
String xpathVersion)
Tries to find attribute values based on the given selector data.
|
boolean |
isSelectorSupported()
Returns true since this module supports retrieving attributes based on
the data provided in an AttributeSelectorType.
|
findAttribute, getIdentifier, getSupportedDesignatorTypes, getSupportedIds, invalidateCache, isDesignatorSupported
public boolean isSelectorSupported()
isSelectorSupported
in class AttributeFinderModule
public EvaluationResult findAttribute(String path, Node namespaceNode, URI type, EvaluationCtx context, String xpathVersion)
BagAttribute
,
even if only one value was found. If no values were found, but no other
error occurred, an empty bag is returned.findAttribute
in class AttributeFinderModule
path
- the XPath expression to search againstnamespaceNode
- the DOM node defining namespace mappings to use,
or null if mappings come from the context roottype
- the datatype of the attributes to findcontext
- the representation of the request dataxpathVersion
- the XPath version to useCopyright © 2023 JBoss by Red Hat. All rights reserved.