package org.opennaas.extensions.router.model;
/**
* PolicySet is an abstract class that represents a set of policies that form a coherent set. The set of contained policies has a common decision
* strategy and a common set of policy roles (defined via the PolicySetInRole Collection association). Subclasses include PolicyGroup and PolicyRule.
*
* @version 2.20.1
*/
/*
* @Generated(value="org.dmtf.cim.TranslateCIM", comments="TranslateCIM version 0.9.1", date="2012-11-19T12:22:55+0100")
*/
public abstract class PolicySet extends Policy {
/**
* Default constructor
*/
public PolicySet() {
}
/**
* PolicyDecisionStrategy defines the evaluation method used for policies contained in the PolicySet. There are two values currently defined:<br>
* <br>
* - 'First Matching' (1) executes the actions of the first rule whose conditions evaluate to TRUE. The concept of 'first' is determined by
* examining the priority of the rule within the policy set (i.e., by examining the property, PolicySetComponent.Priority). Note that this
* ordering property MUST be maintained when processing the PolicyDecisionStrategy.<br>
* <br>
* - 'All' (2) executes the actions of ALL rules whose conditions evaluate to TRUE, in the set. As noted above, the order of processing of the
* rules is defined by the property, PolicySetComponent.Priority (and within a rule, the ordering of the actions is defined by the property,
* PolicyActionStructure.ActionOrder). Note that when this strategy is defined, processing MUST be completed of ALL rules whose conditions
* evaluate to TRUE, regardless of errors in the execution of the rule actions.
*/
public enum policyDecisionStrategy_enum {
First_Matching(1),
All(2);
private final int localValue;
policyDecisionStrategy_enum(int enumValue) {
this.localValue = enumValue;
}
}
private policyDecisionStrategy_enum policyDecisionStrategy;
/**
* The PolicyRoles property represents the roles associated with a PolicySet. All contained PolicySet instances inherit the values of the
* PolicyRoles of the aggregating PolicySet but the values are not copied. A contained PolicySet instance may, however, add additional PolicyRoles
* to those it inherits from its aggregating PolicySet(s). Each value in PolicyRoles multi-valued property represents a role for which the
* PolicySet applies, i.e., the PolicySet should be used by any enforcement point that assumes any of the listed PolicyRoles values.<br>
* <br>
* <br>
* <br>
* Although not officially designated as 'role combinations', multiple roles may be specified using the form:<br>
* <br>
* <RoleName>[&&<RoleName>]*<br>
* <br>
* where the individual role names appear in alphabetical order (according to the collating sequence for UCS-2). Implementations may treat
* PolicyRoles values that are specified as 'role combinations' as simple strings.<br>
* <br>
* <br>
* <br>
* This property is deprecated in lieu of the use of an association, CIM_PolicySetInRoleCollection. The latter is a more explicit and less
* error-prone approach to modeling that a PolicySet has one or more PolicyRoles.
*
* @deprecated - Replaced by CIM_PolicySetInRoleCollection
*/
@Deprecated
private String[] policyRoles;
/**
* Indicates whether this PolicySet is administratively enabled, administratively disabled, or enabled for debug. The "EnabledForDebug" property
* value is deprecated and, when it or any value not understood by the receiver is specified, the receiving enforcement point treats the PolicySet
* as "Disabled". To determine if a PolicySet is "Enabled", the containment hierarchy specified by the PolicySetComponent aggregation is examined
* and the Enabled property values of the hierarchy are ANDed together. Thus, for example, everything aggregated by a PolicyGroup may be disabled
* by setting the Enabled property in the PolicyGroup instance to "Disabled" without changing the Enabled property values of any of the aggregated
* instances. The default value is 1 ("Enabled").
*/
public enum enabled_enum {
Enabled(1),
Disabled(2),
Enabled_For_Debug(3);
private final int localValue;
enabled_enum(int enumValue) {
this.localValue = enumValue;
}
}
private enabled_enum enabled = enabled_enum.Enabled;
public policyDecisionStrategy_enum getPolicyDecisionStrategy() {
return policyDecisionStrategy;
}
public void setPolicyDecisionStrategy(policyDecisionStrategy_enum policyDecisionStrategy) {
this.policyDecisionStrategy = policyDecisionStrategy;
}
@Deprecated
public String[] getPolicyRoles() {
return policyRoles;
}
@Deprecated
public void setPolicyRoles(String[] policyRoles) {
this.policyRoles = policyRoles;
}
public enabled_enum getEnabled() {
return enabled;
}
public void setEnabled(enabled_enum enabled) {
this.enabled = enabled;
}
}