Interface CombiningAlg<T extends Decidable>
-
- Type Parameters:
T
- type of combined element (Policy, Rule...)
- All Superinterfaces:
PdpExtension
- All Known Implementing Classes:
BaseCombiningAlg
public interface CombiningAlg<T extends Decidable> extends PdpExtension
Combining algorithm. In combining policies, obligations and advice must be handled correctly. Specifically, no obligation/advice may be included in theResult
that doesn't match the permit/deny decision being returned. So, if INDETERMINATE or NOT_APPLICABLE is the returned decision, no obligations/advice may be included in the result. If the decision of the combining algorithm is PERMIT or DENY, then obligations/advice with a matching fulfillOn/AppliesTo effect are also included in the result.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
CombiningAlg.Evaluator
Combining algorithm evaluator
-
Field Summary
-
Fields inherited from interface org.ow2.authzforce.core.pdp.api.PdpExtension
AUTHZFORCE_EXTENSION_PREFIX
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Class<T>
getCombinedElementType()
Get to know whether this is a policy/policySet or rule-combining algorithmCombiningAlg.Evaluator
getInstance(Iterable<CombiningAlgParameter<? extends T>> params, Iterable<? extends T> combinedElements)
Creates instance of algorithm.-
Methods inherited from interface org.ow2.authzforce.core.pdp.api.PdpExtension
getId
-
-
-
-
Method Detail
-
getCombinedElementType
Class<T> getCombinedElementType()
Get to know whether this is a policy/policySet or rule-combining algorithm- Returns:
- the combinedElementType
-
getInstance
CombiningAlg.Evaluator getInstance(Iterable<CombiningAlgParameter<? extends T>> params, Iterable<? extends T> combinedElements) throws UnsupportedOperationException, IllegalArgumentException
Creates instance of algorithm. To be implemented by algorithm implementations.- Parameters:
params
- combining algorithm parameters (in order of declaration) that may be associated with a particular child elementcombinedElements
- combined child elements (in order of declaration)- Returns:
- an instance of algorithm evaluator
- Throws:
UnsupportedOperationException
- if this is a legacy algorithm and legacy support is disabledIllegalArgumentException
- ifparams
are invalid for this algorithm
-
-