public class Policy extends AbstractPolicy
metaData
Constructor and Description |
---|
Policy(URI id,
RuleCombiningAlgorithm combiningAlg,
AbstractTarget target)
Creates a new
Policy with only the required elements. |
Policy(URI id,
RuleCombiningAlgorithm combiningAlg,
AbstractTarget target,
List<Rule> rules)
Creates a new
Policy with only the required elements plus rules. |
Policy(URI id,
String version,
RuleCombiningAlgorithm combiningAlg,
String description,
AbstractTarget target,
List<Rule> rules)
Creates a new
Policy with the required elements plus a version, rules, and a
String description. |
Policy(URI id,
String version,
RuleCombiningAlgorithm combiningAlg,
String description,
AbstractTarget target,
String defaultVersion,
List<CombinerElement> ruleElements,
Set<AbstractObligation> obligations,
Set<VariableDefinition> definitions,
List<CombinerParameter> parameters)
Creates a new
Policy with the required and optional elements. |
Policy(URI id,
String version,
RuleCombiningAlgorithm combiningAlg,
String description,
AbstractTarget target,
String defaultVersion,
List<Rule> rules)
Creates a new
Policy with the required elements plus a version, rules, a String
description and policy defaults. |
Policy(URI id,
String version,
RuleCombiningAlgorithm combiningAlg,
String description,
AbstractTarget target,
String defaultVersion,
List<Rule> rules,
Set<AbstractObligation> obligations)
Creates a new
Policy with the required elements plus a version, rules, a String
description, policy defaults, and obligations. |
Policy(URI id,
String version,
RuleCombiningAlgorithm combiningAlg,
String description,
AbstractTarget target,
String defaultVersion,
List<Rule> rules,
Set<AbstractObligation> obligations,
Set<VariableDefinition> definitions)
Creates a new
Policy with the required elements plus a version, rules, a String
description, policy defaults, obligations, and variable definitions. |
Modifier and Type | Method and Description |
---|---|
String |
encode()
Encodes this
Policy into its XML form |
void |
encode(StringBuilder builder)
Encodes this
Policy into its XML form and writes this out to the provided
StringBuilder |
static Policy |
getInstance(Node root)
Creates an instance of a
Policy object based on a DOM node. |
Set |
getVariableDefinitions()
Returns the variable definitions in this Policy.
|
encodeCommonElements, evaluate, getActionPolicyValue, getAdviceExpressions, getChildElements, getChildren, getCombiningAlg, getCombiningParameters, getDefaultVersion, getDescription, getEnvPolicyValue, getId, getMetaData, getObligationExpressions, getResourcePolicyValue, getSubjectPolicyValue, getTarget, getVersion, match, setActionPolicyValue, setChildren, setEnvPolicyValue, setResourcePolicyValue, setSubjectPolicyValue
public Policy(URI id, RuleCombiningAlgorithm combiningAlg, AbstractTarget target)
Policy
with only the required elements.id
- the policy identifiercombiningAlg
- the CombiningAlgorithm
used on the rules in this settarget
- the AbstractTarget
for this policypublic Policy(URI id, RuleCombiningAlgorithm combiningAlg, AbstractTarget target, List<Rule> rules)
Policy
with only the required elements plus rules.id
- the policy identifiercombiningAlg
- the CombiningAlgorithm
used on the rules in this settarget
- the AbstractTarget
for this policyrules
- a list of Rule
objectsIllegalArgumentException
- if the List
of rules contains an object that is
not a Rule
public Policy(URI id, String version, RuleCombiningAlgorithm combiningAlg, String description, AbstractTarget target, List<Rule> rules)
Policy
with the required elements plus a version, rules, and a
String description. Note that the version is an XACML 2.0 feature.id
- the policy identifierversion
- the policy version or null for the default (this must always be null for XACML
1.x policies)combiningAlg
- the CombiningAlgorithm
used on the rules in this setdescription
- a String
describing the policytarget
- the AbstractTarget
for this policyrules
- a list of Rule
objectsIllegalArgumentException
- if the List
of rules contains an object that is
not a Rule
public Policy(URI id, String version, RuleCombiningAlgorithm combiningAlg, String description, AbstractTarget target, String defaultVersion, List<Rule> rules)
Policy
with the required elements plus a version, rules, a String
description and policy defaults. Note that the version is an XACML 2.0 feature.id
- the policy identifierversion
- the policy version or null for the default (this must always be null for XACML
1.x policies)combiningAlg
- the CombiningAlgorithm
used on the rules in this setdescription
- a String
describing the policytarget
- the AbstractTarget
for this policydefaultVersion
- the XPath version to userules
- a list of Rule
objectsIllegalArgumentException
- if the List
of rules contains an object that is
not a Rule
public Policy(URI id, String version, RuleCombiningAlgorithm combiningAlg, String description, AbstractTarget target, String defaultVersion, List<Rule> rules, Set<AbstractObligation> obligations)
Policy
with the required elements plus a version, rules, a String
description, policy defaults, and obligations. Note that the version is an XACML 2.0 feature.id
- the policy identifierversion
- the policy version or null for the default (this must always be null for XACML
1.x policies)combiningAlg
- the CombiningAlgorithm
used on the rules in this setdescription
- a String
describing the policytarget
- the AbstractTarget
for this policydefaultVersion
- the XPath version to userules
- a list of Rule
objectsobligations
- a set of Obligations
objectsIllegalArgumentException
- if the List
of rules contains an object that is
not a Rule
public Policy(URI id, String version, RuleCombiningAlgorithm combiningAlg, String description, AbstractTarget target, String defaultVersion, List<Rule> rules, Set<AbstractObligation> obligations, Set<VariableDefinition> definitions)
Policy
with the required elements plus a version, rules, a String
description, policy defaults, obligations, and variable definitions. Note that the version
and definitions are XACML 2.0 features.id
- the policy identifierversion
- the policy version or null for the default (this must always be null for XACML
1.x policies)combiningAlg
- the CombiningAlgorithm
used on the rules in this setdescription
- a String
describing the policytarget
- the AbstractTarget
for this policydefaultVersion
- the XPath version to userules
- a list of Rule
objectsobligations
- a set of Obligations
objectsdefinitions
- a set of VariableDefinition
objects that must provide all
definitions referenced by all VariableReference
s in the policyIllegalArgumentException
- if the List
of rules contains an object that is
not a Rule
public Policy(URI id, String version, RuleCombiningAlgorithm combiningAlg, String description, AbstractTarget target, String defaultVersion, List<CombinerElement> ruleElements, Set<AbstractObligation> obligations, Set<VariableDefinition> definitions, List<CombinerParameter> parameters)
Policy
with the required and optional elements. If you need to
provide combining algorithm parameters, you need to use this constructor. Note that unlike
the other constructors in this class, the rules list is actually a list of
CombinerElement
s used to match a rule with any combiner parameters it may have.id
- the policy identifierversion
- the policy version or null for the default (this must always be null for XACML
1.x policies)combiningAlg
- the CombiningAlgorithm
used on the rules in this setdescription
- a String
describing the policy or null if there is no
descriptiontarget
- the AbstractTarget
for this policydefaultVersion
- the XPath version to use or null if there is no default versionruleElements
- a list of RuleCombinerElement
objects or null if there are
no rulesobligations
- a set of Obligations
objects or null if there are no
obligationsdefinitions
- a set of VariableDefinition
objects that must provide all
definitions referenced by all VariableReference
s in the policyparameters
- the List
of CombinerParameter
s provided for
general use by the combining algorithmIllegalArgumentException
- if the List
of rules contains an object that is
not a RuleCombinerElement
public static Policy getInstance(Node root) throws ParsingException
Policy
object based on a DOM node. The node must be the
root of PolicyType XML object, otherwise an exception is thrown.root
- the DOM root of a PolicyType XML type
the XACML policy, if null use default factoriesPolicy
objectParsingException
- if the PolicyType is invalidpublic Set getVariableDefinitions()
Set
of VariableDefinition
spublic String encode()
Policy
into its XML formString
public void encode(StringBuilder builder)
Policy
into its XML form and writes this out to the provided
StringBuilder
builder
- string stream into which the XML-encoded data is writtenCopyright © 2019 WSO2. All rights reserved.