package org.opennaas.extensions.router.model;
/**
* PolicyActions may be aggregated into rules and into compound actions. PolicyActionStructure is the abstract aggregation class for the structuring
* of policy actions.
*
* @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 PolicyActionStructure extends PolicyComponent {
/**
* Default constructor
*/
public PolicyActionStructure() {
}
/**
* PolicyAction instances may be aggregated into either PolicyRule instances or CompoundPolicyAction instances.
*/
private Policy groupComponent;
/**
* A PolicyAction aggregated by a PolicyRule or CompoundPolicyAction.
*/
private PolicyAction partComponent;
/**
* ActionOrder is an unsigned integer 'n' that indicates the relative position of a PolicyAction in the sequence of actions associated with a
* PolicyRule or CompoundPolicyAction. When 'n' is a positive integer, it indicates a place in the sequence of actions to be performed, with
* smaller integers indicating earlier positions in the sequence. The special value '0' indicates 'don't care'. If two or more PolicyActions have
* the same non-zero sequence number, they may be performed in any order, but they must all be performed at the appropriate place in the overall
* action sequence.<br>
* <br>
* <br>
* <br>
* A series of examples will make ordering of PolicyActions clearer:<br>
* <br>
* o If all actions have the same sequence number, regardless of whether it is '0' or non-zero, any order is acceptable.<br>
* <br>
* o The values:<br>
* <br>
* 1:ACTION A<br>
* <br>
* 2:ACTION B<br>
* <br>
* 1:ACTION C<br>
* <br>
* 3:ACTION D<br>
* <br>
* indicate two acceptable orders: A,C,B,D or C,A,B,D,<br>
* <br>
* since A and C can be performed in either order, but only at the '1' position.<br>
* <br>
* o The values:<br>
* <br>
* 0:ACTION A<br>
* <br>
* 2:ACTION B<br>
* <br>
* 3:ACTION C<br>
* <br>
* 3:ACTION D<br>
* <br>
* require that B,C, and D occur either as B,C,D or as B,D,C. Action A may appear at any point relative to B, C, and D. Thus the complete set of
* acceptable orders is: A,B,C,D; B,A,C,D; B,C,A,D; B,C,D,A; A,B,D,C; B,A,D,C; B,D,A,C; B,D,C,A.<br>
* <br>
* <br>
* <br>
* Note that the non-zero sequence numbers need not start with '1', and they need not be consecutive. All that matters is their relative
* magnitude.
*/
private int actionOrder;
public Policy getGroupComponent() {
return groupComponent;
}
public void setGroupComponent(Policy groupComponent) {
this.groupComponent = groupComponent;
}
public PolicyAction getPartComponent() {
return partComponent;
}
public void setPartComponent(PolicyAction partComponent) {
this.partComponent = partComponent;
}
public int getActionOrder() {
return actionOrder;
}
public void setActionOrder(int actionOrder) {
this.actionOrder = actionOrder;
}
}