CIMProperty Class Reference

#include <CIMProperty.h>

Public Member Functions

 CIMProperty ()
 
 CIMProperty (const CIMProperty &x)
 
 CIMProperty (const CIMName &name, const CIMValue &value, Uint32 arraySize=0, const CIMName &referenceClassName=CIMName(), const CIMName &classOrigin=CIMName(), Boolean propagated=false)
 
 ~CIMProperty ()
 
CIMPropertyoperator= (const CIMProperty &x)
 
const CIMNamegetName () const
 
void setName (const CIMName &name)
 
const CIMValuegetValue () const
 
CIMType getType () const
 
Boolean isArray () const
 
void setValue (const CIMValue &value)
 
Uint32 getArraySize () const
 
const CIMNamegetReferenceClassName () const
 
const CIMNamegetClassOrigin () const
 
void setClassOrigin (const CIMName &classOrigin)
 
Boolean getPropagated () const
 
void setPropagated (Boolean propagated)
 
CIMPropertyaddQualifier (const CIMQualifier &x)
 
Uint32 findQualifier (const CIMName &name) const
 
CIMQualifier getQualifier (Uint32 index)
 
CIMConstQualifier getQualifier (Uint32 index) const
 
void removeQualifier (Uint32 index)
 
Uint32 getQualifierCount () const
 
Boolean identical (const CIMConstProperty &x) const
 
CIMProperty clone () const
 
Boolean isUninitialized () const
 

Detailed Description

The CIMProperty class represents the DMTF standard CIM property definition. A CIMProperty is generally defined in the context of a CIMClass or CIMInstance. A CIMProperty consists of:

  • A CIMName containing the name of the property
  • A CIMType defining the property type
  • A Boolean indicating whether it is an Array property
  • A Uint32 indicating the size of the Array, if the property is an Array property
  • A CIMName containing the reference class name for this property, if the property is of reference type
  • A CIMValue specifying the property value
  • Zero or more CIMQualifier objects

In addition, a CIMProperty has these internal attributes:

  • propagated - An attribute defining whether this CIMProperty is propagated from a superclass. Note that this is normally set as part of completing the definition of objects (resolving) when they are created as part of a CIM schema and is NOT automatically set when creating a property object. It can only be logically set in context of the schema in which the CIMProperty is defined.
  • classOrigin - An attribute defining the class in which this CIMProperty was originally defined. This is normally set within the context of the schema in which the CIMProperty is defined. This attribute is available from objects retrieved from the CIM Server, for example, and provides information on the defintion of this property in the class hierarchy. The propagated and ClassOrigin attributes can be used together to determine if properties originated with this object or were inherited from higher levels of the hiearchy.

The CIMProperty class uses a shared representation model, such that multiple CIMProperty objects may refer to the same data copy. Assignment and copy operators create new references to the same data, not distinct copies. An update to a CIMProperty object affects all the CIMProperty objects that refer to the same data copy. The data remains valid until all the CIMProperty objects that refer to it are destructed. A separate copy of the data may be created using the clone method.

Constructor & Destructor Documentation

◆ CIMProperty() [1/3]

CIMProperty::CIMProperty ( )

Constructs an uninitialized CIMProperty object. A method invocation on an uninitialized object will result in the throwing of an UninitializedObjectException. An uninitialized object may be converted into an initialized object only by using the assignment operator with an initialized object.

◆ CIMProperty() [2/3]

CIMProperty::CIMProperty ( const CIMProperty x)

Constructs a CIMProperty object from the value of a specified CIMProperty object, so that both objects refer to the same data copy.

Parameters
xThe CIMProperty object from which to construct a new CIMProperty object.

◆ CIMProperty() [3/3]

CIMProperty::CIMProperty ( const CIMName name,
const CIMValue value,
Uint32  arraySize = 0,
const CIMName referenceClassName = CIMName(),
const CIMName classOrigin = CIMName(),
Boolean  propagated = false 
)

Constructs a CIMProperty object with the specified attributes.

Parameters
nameA CIMName specifying the name of the property.
valueA CIMValue specifying the property value, and implicitly defining the property type and whether the property is an Array property.
arraySizeA Uint32 indicating the size of the Array, if the property is an Array property. The default value of zero indicates a variable size array.
referenceClassNameA CIMName containing the reference class name for this property, if the property is of reference type.
classOriginA CIMName indicating the class in which the property is locally defined (optional).
propagatedA Boolean indicating whether the property is local to the class or instance in which it appears or was propagated (without modification) from other schema.
Exceptions
TypeMismatchExceptionIf the property is of reference type and referenceClassName is null or if the property is not of reference type and referenceClassName is not null.
TypeMismatchExceptionIf the property is an Array property and arraySize is not zero.
UninitializedObjectExceptionIf the property name is null.

◆ ~CIMProperty()

CIMProperty::~CIMProperty ( )

Destructs the CIMProperty object.

Member Function Documentation

◆ addQualifier()

CIMProperty& CIMProperty::addQualifier ( const CIMQualifier x)

Adds a qualifier to the property.

Parameters
xThe CIMQualifier to be added.
Returns
A reference to this CIMProperty object.
Exceptions
AlreadyExistsExceptionIf a qualifier with the same name already exists in the CIMProperty.
UninitializedObjectExceptionIf the object is not initialized.

◆ clone()

CIMProperty CIMProperty::clone ( ) const

Makes a deep copy of the property. This creates a new copy of all the property attributes including qualifiers.

Returns
A new copy of the CIMProperty object.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ findQualifier()

Uint32 CIMProperty::findQualifier ( const CIMName name) const

Finds a qualifier by name.

Parameters
nameA CIMName specifying the name of the qualifier to be found.
Returns
Index of the qualifier if found or PEG_NOT_FOUND if not found.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getArraySize()

Uint32 CIMProperty::getArraySize ( ) const

Gets the array size for the property.

Returns
Uint32 array size.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getClassOrigin()

const CIMName& CIMProperty::getClassOrigin ( ) const

Gets the class in which this property is locally defined. This information is normally available with properties that are part of schema returned from a CIM Server.

Returns
CIMName containing the classOrigin attribute.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getName()

const CIMName& CIMProperty::getName ( ) const

Gets the name of the property.

Returns
A CIMName containing the name of the property.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getPropagated()

Boolean CIMProperty::getPropagated ( ) const

Tests the propagated attribute of the property. The propagated attribute indicates whether this property was propagated from a higher-level class. Normally this attribute is set as part of defining a property in the context of a schema. It is set in properties retrieved from a CIM Server.

Returns
True if property is propagated; otherwise, false.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getQualifier() [1/2]

CIMQualifier CIMProperty::getQualifier ( Uint32  index)

Gets the qualifier at the specified index.

Parameters
indexThe index of the qualifier to be retrieved.
Returns
The CIMQualifier object at the specified index.
Exceptions
IndexOutOfBoundsExceptionIf the index is outside the range of qualifiers available for the CIMProperty.
UninitializedObjectExceptionIf the object is not initialized.

◆ getQualifier() [2/2]

CIMConstQualifier CIMProperty::getQualifier ( Uint32  index) const

Gets the qualifier at the specified index.

Parameters
indexThe index of the qualifier to be retrieved.
Returns
The CIMConstQualifier object at the specified index.
Exceptions
IndexOutOfBoundsExceptionIf the index is outside the range of qualifiers available for the CIMProperty.
UninitializedObjectExceptionIf the object is not initialized.

◆ getQualifierCount()

Uint32 CIMProperty::getQualifierCount ( ) const

Gets the number of qualifiers in the property.

Returns
An integer count of the qualifiers in the CIMProperty.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getReferenceClassName()

const CIMName& CIMProperty::getReferenceClassName ( ) const

Gets the reference class name for the property.

Returns
A CIMName containing the reference class name for the property if the property is of reference type, a null CIMName otherwise.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getType()

CIMType CIMProperty::getType ( ) const

Gets the property type.

Returns
A CIMType containing the property type.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ getValue()

const CIMValue& CIMProperty::getValue ( ) const

Gets the property value.

Returns
A CIMValue containing the property value.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ identical()

Boolean CIMProperty::identical ( const CIMConstProperty x) const

Compares the property with another property.

Parameters
xThe CIMConstProperty to be compared.
Returns
True if this property is identical to the one specified, false otherwise.
Exceptions
UninitializedObjectExceptionIf either of the objects is not initialized.

◆ isArray()

Boolean CIMProperty::isArray ( ) const

Checks whether the property is an Array property.

Returns
True if the property is an Array property, false otherwise.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ isUninitialized()

Boolean CIMProperty::isUninitialized ( ) const

Determines whether the object has been initialized.

Returns
True if the object has not been initialized, false otherwise.

◆ operator=()

CIMProperty& CIMProperty::operator= ( const CIMProperty x)

Assigns the value of the specified CIMProperty object to this object, so that both objects refer to the same data copy.

Parameters
xThe CIMProperty object from which to assign this CIMProperty object.
Returns
A reference to this CIMProperty object.

◆ removeQualifier()

void CIMProperty::removeQualifier ( Uint32  index)

Removes a qualifier from the property.

Parameters
indexThe index of the qualifier to remove.
Exceptions
IndexOutOfBoundsExceptionIf the index is outside the range of qualifiers available for the CIMProperty.
UninitializedObjectExceptionIf the object is not initialized.

◆ setClassOrigin()

void CIMProperty::setClassOrigin ( const CIMName classOrigin)

Sets the classOrigin attribute with the specified class name. Normally this method is used internally by a CIM Server when defining properties in the context of a schema.

Parameters
classOriginA CIMName specifying the name of the class of origin for the property.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ setName()

void CIMProperty::setName ( const CIMName name)

Sets the property name.

Parameters
nameA CIMName containing the new name of the property.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.
ExceptionIf the object is already contained by CIMClass, CIMInstance or CIMObject

◆ setPropagated()

void CIMProperty::setPropagated ( Boolean  propagated)

Sets the propagated attribute. Normally this is used by a CIM Server when defining a property in the context of a schema.

Parameters
propagatedA Boolean indicating whether the property is propagated.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

◆ setValue()

void CIMProperty::setValue ( const CIMValue value)

Sets the property value.

Parameters
valueA CIMValue containing the new value of the property.
Exceptions
UninitializedObjectExceptionIf the object is not initialized.

The documentation for this class was generated from the following file: