public class PolicyFinder extends Object
PolicyFinder
on construction. The PolicyFinder
provides
the functionality both to find policies based on a request (ie, retrieve policies and match
against the target) and based on an idReference (as can be included in a PolicySet).
While this class is typically used by the PDP, it is intentionally designed to support
stand-alone use, so it could be the base for a distributed service, or for some application that
needs just this functionality. There is nothing in the PolicyFinder
Note that it is an error to have more than one top-level policy (as explained in the
OnlyOneApplicable combining algorithm), so any module that is added to this finder will be
evaluated each time a policy is requested. This means that you should think carefully about how
many modules you include, and how they can cache policy data.
Constructor and Description |
---|
PolicyFinder()
Default constructor that creates a
PDPConfig from components. |
Modifier and Type | Method and Description |
---|---|
PolicyFinderResult |
findPolicy(EvaluationCtx context)
Finds a policy based on a request's context.
|
PolicyFinderResult |
findPolicy(URI idReference,
int type,
VersionConstraints constraints,
PolicyMetaData parentMetaData)
Finds a policy based on an id reference.
|
Set |
getModules()
Returns the unordered
Set of PolicyFinderModule s used by this class
to find policies. |
void |
init()
Initializes all modules in this finder.
|
void |
setModules(Set modules)
Sets the unordered
Set of PolicyFinderModule s used by this class to
find policies. |
public PolicyFinder()
PDPConfig
from components.public Set getModules()
Set
of PolicyFinderModule
s used by this class
to find policies.Set
of PolicyFinderModule
spublic void setModules(Set modules)
Set
of PolicyFinderModule
s used by this class to
find policies.modules
- a Set
of PolicyFinderModule
spublic void init()
public PolicyFinderResult findPolicy(EvaluationCtx context)
context
- the representation of the request datapublic PolicyFinderResult findPolicy(URI idReference, int type, VersionConstraints constraints, PolicyMetaData parentMetaData) throws IllegalArgumentException
idReference
- the identifier used to resolve a policytype
- type of reference (policy or policySet) as identified by the fields in
PolicyReference
constraints
- any optional constraints on the version of the referenced policyparentMetaData
- the meta-data from the parent policy, which provides XACML version,
factories, etc.IllegalArgumentException
- if type
is invalidCopyright © 2016 WSO2. All rights reserved.