Package javax.cim

Class CIMClass

All Implemented Interfaces:
Serializable, Comparable<CIMElement>, CIMNamedElementInterface, CIMQualifiedElementInterface

public class CIMClass extends CIMElement implements CIMQualifiedElementInterface, CIMNamedElementInterface
This class represents a CIM class as defined by the Distributed Management Task Force (DMTF) CIM Infrastructure Specification (DSP004). A CIMClass has the following attributes:
  • an object path describing the location and name of the class
  • superclass name (can be null if no superclass)
  • an array of qualifiers for the class
  • an array of properties
  • an array of methods
See Also:
  • Constructor Details

    • CIMClass

      public CIMClass(CIMObjectPath pPath, String pSuperClass, CIMQualifier<?>[] pQualifiers, CIMClassProperty<?>[] pProperties, CIMMethod<?>[] pMethods, boolean pIsAssociation, boolean pIsKeyed)
      Creates and instantiates a Java object representing a CIM Class. This method may or may not validate the pIsAssociation and pIsKeyed parameters. If an invalid value is supplied (i.e. the class is an association, but the pIsAssociation was set to false), it may or may not be corrected.
      Parameters:
      pPath - Object Name of the CIM class.
      pSuperClass - Name of the superclass.
      pQualifiers - List of qualifiers of the CIM class.
      pProperties - List of properties of the CIM class.
      pMethods - List of methods of the CIM class.
      pIsAssociation - true if the CIM class is an Association, false otherwise.
      pIsKeyed - true if the CIM class has Keys, false otherwise.
      Throws:
      IllegalArgumentException - If pPath is null.
    • CIMClass

      public CIMClass(String pName, String pSuperClass, CIMQualifier<?>[] pQualifiers, CIMClassProperty<?>[] pProperties, CIMMethod<?>[] pMethods)
      Creates and instantiates a Java object representing a CIM Class. This constructor will inspect the class to determine if it is an association or has keys.
      Parameters:
      pName - Name of the CIM class.
      pSuperClass - Name of the superclass.
      pQualifiers - List of qualifiers of the CIM class.
      pProperties - List of properties of the CIM class.
      pMethods - List of methods of the CIM class.
      Throws:
      IllegalArgumentException - If pName is null.
  • Method Details

    • equals

      public boolean equals(Object pObj)
      Indicates whether the specified CIMClass is equal to this CIMClass.
      Overrides:
      equals in class CIMElement
      Parameters:
      pObj - The CIMClass object with which to compare.
      Returns:
      true if this object is the same as the pObj argument; false otherwise.
    • filterProperties

      public CIMClass filterProperties(boolean pLocalOnly, boolean pIncludeQualifiers, boolean pIncludeClassOrigin, String[] pPropertyList)
      This method returns a new CIMClass with properties filtered according to the input parameters. Inclusion of class origin and qualifiers can also be controlled. Methods will not be included in the class returned.
      Parameters:
      pLocalOnly - If true only the elements defined in this class are included; otherwise all elements are included.
      pIncludeQualifiers - If true qualifiers are included on all elements; otherwise no qualifiers are included.
      pIncludeClassOrigin - If true, the ClassOrigin attribute is included.
      pPropertyList - If the PropertyList input parameter is not null, the members of the array define one or more Property names. The CIMClass returned does not include elements for any Properties missing from this list. If the PropertyList input parameter is an empty array this signifies that no Properties are included in the class returned. If the PropertyList input parameter is null this specifies that all Properties are included in the class returned. If the PropertyList contains duplicate elements or invalid property names, they are ignored.
      Returns:
      CIMClass matching the requested criteria.
    • getKeys

      public CIMClassProperty<?>[] getKeys()
      Returns a list of key properties for this CIM class.
      Returns:
      The list of CIM properties that are keys for this CIM class.
    • getMethod

      public CIMMethod<?> getMethod(int pIndex) throws ArrayIndexOutOfBoundsException
      Get a method by index.
      Parameters:
      pIndex - The index of the method to retrieve.
      Returns:
      The CIMMethod at the specified index.
      Throws:
      ArrayIndexOutOfBoundsException
    • getMethod

      public CIMMethod<?> getMethod(String pName)
      Returns the specified CIM method in this CIM class.
      Parameters:
      pName - The string name of the method to retrieve. The name may be specified in the form "originClass.methodName".
      Returns:
      The CIM method specified or null if the method does not exist.
    • getMethod

      public CIMMethod<?> getMethod(String pName, String pOriginClass)
      Returns the CIM method specified by its name and optionally, its origin class. The origin class is the class in which the method is defined.
      Parameters:
      pName - The string name of the method to get.
      pOriginClass - (Optional) The class in which the method was defined.
      Returns:
      The CIM method specified or null if the method does not exist.
    • getMethodCount

      public int getMethodCount()
      Get the number of methods defined in this CIM class.
      Returns:
      The number of methods defined in the CIM class.
    • getMethods

      public CIMMethod<?>[] getMethods()
      Get the CIM methods defined in this CIM class.
      Returns:
      The methods in this CIM class.
    • getObjectPath

      public CIMObjectPath getObjectPath()
      This method returns the CIMObjectPath that represents this CIM class.
      Specified by:
      getObjectPath in interface CIMNamedElementInterface
      Returns:
      The CIMObjectPath that represents this CIM class.
    • getProperties

      public CIMClassProperty<?>[] getProperties()
      Get the properties defined for this CIM class.
      Returns:
      The properties for this class.
    • getProperty

      public CIMClassProperty<?> getProperty(int pIndex) throws ArrayIndexOutOfBoundsException
      Get a class property by index.
      Parameters:
      pIndex - The index of the class property to retrieve.
      Returns:
      The CIMClassProperty at the specified index.
      Throws:
      ArrayIndexOutOfBoundsException
    • getProperty

      public CIMClassProperty<?> getProperty(String pName)
      Gets the specified property.
      Parameters:
      pName - The text string for the name of the property.
      Returns:
      The property requested or null if the property does not exist.
    • getProperty

      public CIMClassProperty<?> getProperty(String pName, String pOriginClass)
      Gets the specified property.
      Parameters:
      pName - The string name of the property to get.
      pOriginClass - (Optional) The string name of the class in which the property was defined.
      Returns:
      The property requested or null if the property does not exist.
    • getPropertyCount

      public int getPropertyCount()
      Get the number of properties defined in this CIMClass.
      Returns:
      The number of properties defined in the CIMClass.
    • getQualifier

      public CIMQualifier<?> getQualifier(int pIndex) throws ArrayIndexOutOfBoundsException
      Get a qualifier by index.
      Specified by:
      getQualifier in interface CIMQualifiedElementInterface
      Parameters:
      pIndex - The index of the qualifier to retrieve.
      Returns:
      The qualifier at the specified index.
      Throws:
      ArrayIndexOutOfBoundsException
    • getQualifier

      public CIMQualifier<?> getQualifier(String pName)
      Gets a qualifier by name.
      Specified by:
      getQualifier in interface CIMQualifiedElementInterface
      Parameters:
      pName - The name of the qualifier to get.
      Returns:
      The qualifier requested or null if the qualifier does not exist.
    • getQualifierCount

      public int getQualifierCount()
      Get the number of qualifiers defined in this CIM class.
      Specified by:
      getQualifierCount in interface CIMQualifiedElementInterface
      Returns:
      The number of qualifiers defined in the CIM class.
    • getQualifiers

      public CIMQualifier<?>[] getQualifiers()
      Returns the list of qualifiers for the CIM class.
      Specified by:
      getQualifiers in interface CIMQualifiedElementInterface
      Returns:
      Qualifiers for this class.
    • getQualifierValue

      public Object getQualifierValue(String pName)
      Gets a qualifier value by name.
      Specified by:
      getQualifierValue in interface CIMQualifiedElementInterface
      Parameters:
      pName - The name of the qualifier to get.
      Returns:
      null if the qualifier does not exist or value is null, otherwise returns the reference to the qualifier.
    • getSuperClassName

      public String getSuperClassName()
      Gets the name of the parent of this CIM class.
      Returns:
      The name of the parent class.
    • hasQualifier

      public boolean hasQualifier(String pName)
      Checks whether the specified qualifier is one of the qualifiers in this CIM class.
      Specified by:
      hasQualifier in interface CIMQualifiedElementInterface
      Parameters:
      pName - The name of the qualifier.
      Returns:
      true if the qualifier exists in this CIM class, otherwise false.
    • hasQualifierValue

      public boolean hasQualifierValue(String pName, Object pValue)
      Checks whether the specified qualifier is one of the qualifiers defined for this class with the specified value. This method will return false if the qualifier is not applied or if the value does not match.
      Specified by:
      hasQualifierValue in interface CIMQualifiedElementInterface
      Parameters:
      pName - The name of the qualifier.
      pValue - The value to be tested.
      Returns:
      true if the qualifier exists and has the value, otherwise false.
    • isAssociation

      public boolean isAssociation()
      Identifies whether or not this CIM class is an association. An association is a relationship between two or more classes or instances of two or more classes. The properties of an association class include references, or pointers, to the two or more instances. All CIM classes can be included in one or more associations.
      Returns:
      true if this CIM class is an association; otherwise, false.
    • isKeyed

      public boolean isKeyed()
      Identifies whether or not this class is keyed. Only keyed classes can have instances. Returns true if this CIM class has one or more key properties. Otherwise, returns false.
      Returns:
      true if this CIM class has a key property, otherwise returns false.
    • newInstance

      public CIMInstance newInstance()
      Returns a new CIM instance initialized with the default CIM properties, values and name of this CIM class.
      Returns:
      A CIM instance of this CIM class.
    • toString

      public String toString()
      Returns a String representation of the CIM class. This method is intended to be used only for debugging purposes, and the format of the returned string may vary between implementations. The returned string may be empty but may not be null.
      Overrides:
      toString in class CIMElement
      Returns:
      A String representation of this CIM class.