package org.opennaas.extensions.router.model; /** * PolicySetComponent is a concrete aggregation that collects instances of the subclasses of PolicySet (i.e., PolicyGroups and PolicyRules). Instances * are collected in sets that use the same decision strategy. They are prioritized relative to each other, within the set, using the Priority property * of this aggregation.<br> * <br> * <br> * <br> * Together, the PolicySet.PolicyDecisionStrategy and PolicySet Component.Priority properties determine the processing for the groups and rules * contained in a PolicySet. A larger priority value represents a higher priority. Note that the Priority property MUST have a unique value when * compared with others defined for the same aggregating PolicySet. Thus, the evaluation of rules within a set is deterministically specified. * * @version 2.20.1 */ /* * @Generated(value="org.dmtf.cim.TranslateCIM", comments="TranslateCIM version 0.9.1", date="2012-11-19T12:22:55+0100") */ public class PolicySetComponent extends PolicyComponent { /** * Default constructor */ public PolicySetComponent() { } // /** // * A PolicySet that aggregates other PolicySet instances. // */ // private PolicySet groupComponent; // // /** // * A PolicySet aggregated into a PolicySet. // */ // private PolicySet partComponent; /** * A non-negative integer for prioritizing this PolicySet component relative to other elements of the same PolicySet. A larger value indicates a * higher priority. The Priority property MUST have a unique value when compared with others defined for the same aggregating PolicySet. */ private int priority; public PolicySet getGroupComponent() { return (PolicySet) super.getGroupComponent(); } public void setGroupComponent(PolicySet groupComponent) { super.setGroupComponent(groupComponent); } public PolicySet getPartComponent() { return (PolicySet) super.getPartComponent(); } public void setPartComponent(PolicySet partComponent) { super.setPartComponent(partComponent); } public int getPriority() { return priority; } public void setPriority(int priority) { this.priority = priority; } public static PolicySetComponent link(PolicySet groupComponent, PolicySet partComponent, int priority) { PolicySetComponent assoc = (PolicySetComponent) Association.link(PolicySetComponent.class, groupComponent, partComponent); assoc.setGroupComponent(groupComponent); assoc.setPartComponent(partComponent); assoc.setPriority(priority); return assoc; } }