// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="SysDevCR00713.001" type ="change">Update of
// descriptions based on Tech Edit review.</
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_MethodParameters
// ==================================================================
   [Abstract, Version ( "2.10.0" ), 
    UMLPackagePath ( "CIM::Core::MethodParms" ), 
    Description ( 
       "CIM_MethodParameters represents a set of values to be used as "
       "the parameters of a method. These parameters can be passed to "
       "the method, directly used by the method in its invocation, or "
       "accessed by the method when it is called. The properties of a "
       "concrete subclass of MethodParameters are mapped to the "
       "parameters of a method by the method itself or by the method "
       "caller. This mapping is an implementation detail that is "
       "independent of the definition of the class. For ease of use, "
       "property names should match parameter names. \n"
       "Property values should be set before the method is invoked. "
       "The ModelCorrespondence qualifier can be used to indicate if "
       "the property value should come from the property of another "
       "class. The instances that the property values should be "
       "gleaned from should be associated with MethodParameters using "
       "the Parameter ValueSources association. \n"
       "If the property is declared as an array, then the same "
       "property value (identified by the Model Correspondence) will "
       "be retrieved from all appropriate ParameterValueSources "
       "instances and stored in the array. \n"
       "If the property is declared as an array and the Model "
       "Correspondence is to an array property, then only one instance "
       "of the array will be copied from one ParameterValueSource. \n"
       "If the property is not declared as an array and there are "
       "multiple instances of the class and property associated with "
       "it through ModelCorrespondence where the values are not all "
       "the same, then an error will occur and the value of the "
       "property will not be set. \n"
       "Several MethodParameters instances can be associated with any "
       "of the ManagedElement methods. This association allows the "
       "maintenance of \'canned\' method invocation and reduces the "
       "overhead of re-creating all method parameters for every method "
       "invocation." )]
class CIM_MethodParameters : CIM_ManagedElement {

      [Description ( 
          "The identifier by which the MethodParameters object is known."
           ), 
       MaxLen ( 256 )]
   string MethodParametersId;


      [Description ( 
          "The resetValues method updates the values of the "
          "properties of MethodParameters, which have "
          "ModelCorrespondence to the SourceME ManagedElement. This "
          "update allows several source candidates to be associated "
          "with the MethodParameters and one candidate to be "
          "selected as the source for this set of values. If "
          "resetValues is invoked and sourceME is null, then all "
          "associated ManagedElements in ParameterValueSources will "
          "be used to set the values of the MethodParameters "
          "properties." )]
   uint32 ResetValues(
         [IN, Description ( "The source ManagedElement." )]
      CIM_ManagedElement REF SourceME);

};
