// Copyright (c) 2005 DMTF. All rights reserved. [Association, Abstract, Aggregation, Version ( "2.6.0" ), UMLPackagePath ( "CIM::Policy" ), Description ( "PolicyActions may be aggregated into rules and into compound " "actions. PolicyActionStructure is the abstract aggregation " "class for the structuring of policy actions." )] class CIM_PolicyActionStructure : CIM_PolicyComponent { [Aggregate, Override ( "GroupComponent" ), Description ( "PolicyAction instances may be aggregated into either " "PolicyRule instances or CompoundPolicyAction instances." )] CIM_Policy REF GroupComponent; [Override ( "PartComponent" ), Description ( "A PolicyAction aggregated by a PolicyRule or CompoundPolicyAction." )] CIM_PolicyAction REF PartComponent; [Description ( "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. \n" "\n" "A series of examples will make ordering of PolicyActions " "clearer: \n" "o If all actions have the same sequence number, " "regardless of whether it is \'0\' or non-zero, any order " "is acceptable. \n" "o The values: \n" "1:ACTION A \n" "2:ACTION B \n" "1:ACTION C \n" "3:ACTION D \n" "indicate two acceptable orders: A,C,B,D or C,A,B,D, \n" "since A and C can be performed in either order, but only " "at the \'1\' position. \n" "o The values: \n" "0:ACTION A \n" "2:ACTION B \n" "3:ACTION C \n" "3:ACTION D \n" "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. \n" "\n" "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." )] uint16 ActionOrder; };