|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object appilog.common.system.types.ObjectStateHolder
public class ObjectStateHolder
The ObjectStateHolder class is a way to represent an object or link defined in
the CMDB. The ObjectStateHolder object contains the CIT name and a list of attributes and their values.
The jython script formats each discovered CI to ObjectStateHolder instance, and then sends all the discovered CIs
as a vector.
In order to create a new CI in the uCMDB, create AN ObjectStateHolder with the relevant CIT name and all the key
attributes. The CIT can be specified in the constructor (see the following examples) or by the function
setObjectClass(String className)
The attributes can
be set by the different setAttribute(String
attrName, Object value)
functions.
If a CI with the same type and the same key attributes already exists in the CMDB, the CI will be updated.
For example, the following object represents an IP CI:
// Create a CI of type IP
ObjectStateHolder ipOSH = new ObjectStateHolder("ip");
// Set the key attributes
ipOSH.setStringAttribute("ip_address", ipAddress);
ipOSH.setStringAttribute("ip_domain", domainName);
ipOSH.setStringAttribute("ip_probename", probeName);
// Set some other attribute
if (dnsname != null)
ipOSH.setStringAttribute("ip_dnsname", dnsname);
If you know the CI object ID and just want to update attributes, you can create an
ObjectStateHolder instance with the object type and the object ID and set only those attributes
that need to be updated.
// Init the Host and IP CIs
end1 = new ObjectStateHolder("ip");
end2 = new ObjectStateHolder("host");
// Create the link
ObjectStateHolder link = ObjectStateHolder(linkTypeName);
link.setAttribute("link_end1", end1);
link.setAttribute("link_end2", end2);
The end1 and end2 attributes of the link specify the nodes at the end of each link. These attributes must be specified
because they are the minimal key attributes of each link. The attribute values are ObjectStateHolders.
setContainer(ObjectStateHolder container)
method. For example, creating a Siebel application server
CI contained inside a host:
// create a CI of type ‘siebelappserver’
ObjectStateHolder appServerOSH = ObjectStateHolder('siebelappserver' );
// set the 'data_name' and 'application_ip' attributes
appServerOSH.setStringAttribute('data_name', siebelServerName);
appServerOSH.setStringAttribute ('application_ip', ip);
// bind it to a Host as a container (The host is another ObjectStateHolder defined in our scope)
appServerOSH.setContainer(appServerHostOSH);
Field Summary | |
---|---|
static java.lang.String |
ATTR_CLASS
|
static java.lang.String |
ATTR_ID
|
static CmdbObjectID |
CMDB_ID_UNKNOWN
CMDB ID that represents an Unknown ID |
static java.lang.String |
NAME_DELIM
delimeter hierarchical names |
static java.lang.String |
XML_ATTR_ANCHOR_ID
|
static java.lang.String |
XML_ATTR_CLASS
|
static java.lang.String |
XML_ATTR_CONTAINER
|
static java.lang.String |
XML_ATTR_ID
|
static java.lang.String |
XML_ATTR_ID_TYPE
|
static java.lang.String |
XML_ATTR_IS_ANCHOR
|
static java.lang.String |
XML_ATTR_IS_REFERENCE
|
static java.lang.String |
XML_ATTR_SUBSYSTEM
|
static java.lang.String |
XML_ROOT_ELEMENT_NAME
|
Constructor Summary | |
---|---|
ObjectStateHolder()
Constructs a default object state holder |
|
ObjectStateHolder(boolean isReferenceOnly)
|
|
ObjectStateHolder(Element element)
Constructs an object state holder |
|
ObjectStateHolder(java.lang.String objectClass)
Constructs an object state holder |
|
ObjectStateHolder(java.lang.String objectClass,
CmdbLinkID objectId)
|
|
ObjectStateHolder(java.lang.String objectClass,
CmdbLinkID objectId,
java.util.Collection attrColl)
|
|
ObjectStateHolder(java.lang.String objectClass,
CmdbLinkID objectId,
java.util.Collection attrColl,
boolean isReferenceOnly)
|
|
ObjectStateHolder(java.lang.String objectClass,
CmdbObjectID objectId)
|
|
ObjectStateHolder(java.lang.String objectClass,
CmdbObjectID objectId,
java.util.Collection attrColl)
|
|
ObjectStateHolder(java.lang.String objectClass,
CmdbObjectID objectId,
java.util.Collection attrColl,
boolean isReferenceOnly)
|
|
ObjectStateHolder(java.lang.String objectClass,
java.util.Collection attrColl)
|
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbLinkID objectId)
Deprecated. |
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbLinkID objectId,
java.util.Collection attrColl)
Deprecated. |
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbLinkID objectId,
java.util.Collection attrColl,
boolean isReferenceOnly)
|
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbObjectID objectId)
Deprecated. |
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbObjectID objectId,
java.util.Collection attrColl)
Deprecated. |
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
CmdbObjectID objectId,
java.util.Collection attrColl,
boolean isReferenceOnly)
|
|
ObjectStateHolder(java.lang.String objectClass,
int objectSubSystem,
java.lang.String id,
int type)
Deprecated. |
|
ObjectStateHolder(java.lang.String objectClass,
java.lang.String id,
int type)
|
Method Summary | |
---|---|
void |
addAttributeToList(AttributeStateHolder attrSH)
Adds new element to the list of elements for the current attribute. |
void |
addAttributeToList(java.lang.String name,
java.lang.Object value)
Adds new element to the list of elements for the current attribute. |
java.lang.Object |
clone()
Returns a clone of this state holder. |
int |
compareTo(java.lang.Object o)
Compares this ObjectStateHolder to another Object. |
int |
compareTo(ObjectStateHolder other)
Compares two ObjectStateHolders by their IDs. |
java.lang.Object |
deepClone()
Returns a deep clone of this state holder. |
boolean |
equals(java.lang.Object anObject)
Compares this state holder to the specified object. |
AttributeStateHolder |
findAttr(java.lang.String attrName)
|
java.lang.String |
getAnchorID()
|
AttributeStateHolder |
getAttribute(java.lang.String attrName)
Gets an attribute state holder by attribute name |
java.util.Collection<AttributeStateHolder> |
getAttributeAll()
Returns an object attributes collection |
java.lang.Object |
getAttributeValue(java.lang.String attrName)
|
CmdbDataID |
getCmdbId()
Gets the CMDB identifier as a object |
int |
getCmdbIdType()
Returns the type of the CMDB identifier |
CmdbLinkID |
getCmdbLinkId()
Gets the CMDB link ID |
CmdbObjectID |
getCmdbObjectId()
Returns the CMDB object ID |
java.lang.String |
getObjectClass()
Returns the object class of the ObjectStateHolder |
int |
hashCode()
Returns a hash code to identify this object. |
boolean |
isAnchor()
|
boolean |
isReference()
|
static ObjectStateHolder |
parseXml(java.io.InputStream xmlStream)
|
static ObjectStateHolder |
parseXml(java.lang.String xmlString)
|
void |
removeAttribute(java.lang.String attrName)
Removes the specified attribute |
void |
removeAttributeAll()
Clears the object attributes table. |
void |
removeAttributeFromList(AttributeStateHolder attrSH)
Adds new element to the list of elements for the current attribute. |
void |
removeAttributeFromList(java.lang.String name,
java.lang.Object value)
Adds new element to the list of elements for the current attribute. |
void |
resetId()
Resets the ID of the configuration item. |
void |
setAnchor(boolean anchor)
|
void |
setAnchorID(java.lang.String anchorID)
|
void |
setAttribute(AttributeStateHolder attrSH)
Sets value for current attribute. |
void |
setAttribute(java.lang.String attrName,
java.lang.Object value)
Sets the value for current attribute. |
void |
setAttributeAll(java.util.Collection attrColl)
Sets an object attributes table. |
void |
setBoolAttribute(java.lang.String attrName,
boolean value)
|
void |
setBoolAttribute(java.lang.String attrName,
java.lang.String value)
|
void |
setBytesAttribute(java.lang.String attrName,
byte[] data)
|
void |
setBytesAttribute(java.lang.String attName,
java.lang.String data)
|
void |
setCmdbLinkId(CmdbLinkID id)
Sets the CMDB link ID |
void |
setCmdbObjectId(CmdbObjectID id)
Sets the CMDB object ID |
void |
setcomparator(AppilogComparator newComparator)
|
void |
setContainer(CmdbObjectID container)
Sets the container ID for this CI. |
void |
setContainer(java.lang.String attrName,
ObjectStateHolder container)
Deprecated. |
void |
setDateAttribute(java.lang.String attrName,
java.util.Date value)
|
void |
setDateAttribute(java.lang.String attrName,
java.lang.String dateStr)
|
void |
setDoubleAttribute(java.lang.String attrName,
double value)
|
void |
setDoubleAttribute(java.lang.String attrName,
java.lang.String value)
|
void |
setEnumAttribute(java.lang.String attrName,
int value)
|
void |
setFloatAttribute(java.lang.String attrName,
float value)
|
void |
setFloatAttribute(java.lang.String attrName,
java.lang.String value)
|
void |
setIntegerAttribute(java.lang.String attrName,
int value)
|
void |
setIntegerAttribute(java.lang.String attrName,
java.lang.String value)
|
void |
setLinkIDAttribute(java.lang.String attrName,
java.lang.Object value)
|
void |
setListAttribute(AttributeStateHolder attrSH)
Adds new element to the list of elements for the current attribute. |
void |
setListAttribute(java.lang.String name,
java.lang.Object[] values)
Sets new values to the list of elements for the current attribute (CLEARS EXISTING OSH ATTRIBUTE VALUES). |
void |
setLongAttribute(java.lang.String attrName,
long value)
|
void |
setLongAttribute(java.lang.String attrName,
java.lang.String value)
|
void |
setObjectClass(java.lang.String className)
Sets an object class |
void |
setObjectIDAttribute(java.lang.String attrName,
CmdbObjectID cmdbId)
|
void |
setObjectIDAttribute(java.lang.String attrName,
java.lang.String strIdValue)
|
void |
setOSHAttribute(java.lang.String attrName,
ObjectStateHolder value)
|
void |
setStringAttribute(java.lang.String attrName,
java.lang.String value)
|
java.lang.String |
toString()
Returns the object representation as a string. |
Element |
toXml()
Returns the object representation as an XML string. |
java.lang.String |
toXmlString()
Returns object state holder representation in XML string format |
java.lang.String |
toXmlString(boolean withEncoding)
Returns object state holder representation in XML string format |
java.lang.StringBuffer |
toXmlString(java.lang.StringBuffer xml,
boolean withEncoding)
|
void |
undoReference()
|
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String NAME_DELIM
public static final CmdbObjectID CMDB_ID_UNKNOWN
public static final java.lang.String ATTR_CLASS
public static final java.lang.String ATTR_ID
public static final java.lang.String XML_ROOT_ELEMENT_NAME
public static final java.lang.String XML_ATTR_ID
public static final java.lang.String XML_ATTR_ID_TYPE
public static final java.lang.String XML_ATTR_CLASS
public static final java.lang.String XML_ATTR_SUBSYSTEM
public static final java.lang.String XML_ATTR_CONTAINER
public static final java.lang.String XML_ATTR_IS_REFERENCE
public static final java.lang.String XML_ATTR_ANCHOR_ID
public static final java.lang.String XML_ATTR_IS_ANCHOR
Constructor Detail |
---|
public ObjectStateHolder()
public ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbObjectID objectId, java.util.Collection attrColl)
objectClass
- The CIT of the objectobjectSubSystem
- The subsystem of the objectobjectId
- The object ID. Available values are:
attrColl
- The hash table of object attributes. The key should be an attribute namepublic ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbObjectID objectId, java.util.Collection attrColl, boolean isReferenceOnly)
public ObjectStateHolder(java.lang.String objectClass, CmdbObjectID objectId, java.util.Collection attrColl)
public ObjectStateHolder(java.lang.String objectClass, CmdbObjectID objectId, java.util.Collection attrColl, boolean isReferenceOnly)
public ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbLinkID objectId, java.util.Collection attrColl)
objectClass
- The CIT of the objectobjectSubSystem
- The subsystem of the objectobjectId
- The object ID. Available values are:
attrColl
- The hash table of object attributes. The key should be an attribute namepublic ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbLinkID objectId, java.util.Collection attrColl, boolean isReferenceOnly)
public ObjectStateHolder(java.lang.String objectClass, CmdbLinkID objectId, java.util.Collection attrColl)
public ObjectStateHolder(java.lang.String objectClass, CmdbLinkID objectId, java.util.Collection attrColl, boolean isReferenceOnly)
public ObjectStateHolder(boolean isReferenceOnly)
public ObjectStateHolder(java.lang.String objectClass, java.util.Collection attrColl)
public ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbObjectID objectId)
objectClass
- The CIT of the objectobjectSubSystem
- The subsystem of the objectobjectId
- The object ID. Available values are:
public ObjectStateHolder(java.lang.String objectClass, CmdbObjectID objectId)
public ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, CmdbLinkID objectId)
objectClass
- The CIT of the objectobjectSubSystem
- The subsystem of the objectobjectId
- The object ID. Available values are:
public ObjectStateHolder(java.lang.String objectClass, CmdbLinkID objectId)
public ObjectStateHolder(java.lang.String objectClass)
objectClass
- The CIT of the objectpublic ObjectStateHolder(java.lang.String objectClass, int objectSubSystem, java.lang.String id, int type)
objectClass
- The CIT of the objectobjectSubSystem
- The subsystem of the objectid
- type
- the type of the ID - AppilogTypes.CMDB_OBJECT_ID or AppilogTypes.CMDB_LINK_ID_DEFpublic ObjectStateHolder(java.lang.String objectClass, java.lang.String id, int type)
public ObjectStateHolder(Element element)
element
- The XML element contains object definitionMethod Detail |
---|
public static ObjectStateHolder parseXml(java.io.InputStream xmlStream) throws AppilogIllegalParameterException
AppilogIllegalParameterException
public static ObjectStateHolder parseXml(java.lang.String xmlString) throws AppilogIllegalParameterException
AppilogIllegalParameterException
public java.lang.String getObjectClass()
public void setObjectClass(java.lang.String className)
className
- The class name of the ObjectStateHolderpublic int getCmdbIdType()
AppilogTypes.CMDB_OBJECT_ID_DEF
or AppilogTypes.CMDB_LINK_ID_DEF
public CmdbObjectID getCmdbObjectId()
null
if the object state holder represents cmdb linkpublic void setCmdbObjectId(CmdbObjectID id)
id
- The cmdb object ID to be setpublic CmdbLinkID getCmdbLinkId()
null
if the object state holder represents CMDB objectpublic void setCmdbLinkId(CmdbLinkID id)
id
- the CMDB link ID to be setpublic CmdbDataID getCmdbId()
public java.util.Collection<AttributeStateHolder> getAttributeAll()
AttributeStateHolder
part of this ObjectStateHolderpublic void setAttributeAll(java.util.Collection attrColl)
attrColl
parameter is null,
the attribute table is cleared.
attrColl
- The collection of attributes to set on this ObjectStateHolder instancepublic void removeAttributeAll()
public void setContainer(CmdbObjectID container)
public void setContainer(java.lang.String attrName, ObjectStateHolder container)
attrName
- deprecatedcontainer
- containerpublic java.lang.Object getAttributeValue(java.lang.String attrName)
public AttributeStateHolder getAttribute(java.lang.String attrName)
attrName
- The attribute name
AttributeStateHolder
or null if no holder existspublic void setAttribute(AttributeStateHolder attrSH)
setAttribute(String, Object)
.
Use this function only for types not defined for the setAttribute function.
attrSH
- The attribute state holder to be setsetAttribute(String, Object)
public void setAttribute(java.lang.String attrName, java.lang.Object value)
setAttribute
function.
For example, for a string, use setStringAttribute.
attrName
- The name of the attribute as defined in the CMDBvalue
- The new valuepublic void setStringAttribute(java.lang.String attrName, java.lang.String value)
public void setIntegerAttribute(java.lang.String attrName, int value)
public void setIntegerAttribute(java.lang.String attrName, java.lang.String value)
public void setLongAttribute(java.lang.String attrName, long value)
public void setLongAttribute(java.lang.String attrName, java.lang.String value)
public void setDoubleAttribute(java.lang.String attrName, double value)
public void setDoubleAttribute(java.lang.String attrName, java.lang.String value)
public void setBytesAttribute(java.lang.String attName, java.lang.String data)
public void setBytesAttribute(java.lang.String attrName, byte[] data)
public void setDateAttribute(java.lang.String attrName, java.util.Date value)
public void setDateAttribute(java.lang.String attrName, java.lang.String dateStr)
public void setBoolAttribute(java.lang.String attrName, boolean value)
public void setBoolAttribute(java.lang.String attrName, java.lang.String value)
public void setEnumAttribute(java.lang.String attrName, int value)
public void setObjectIDAttribute(java.lang.String attrName, java.lang.String strIdValue)
public void setLinkIDAttribute(java.lang.String attrName, java.lang.Object value)
public void setObjectIDAttribute(java.lang.String attrName, CmdbObjectID cmdbId)
public void setFloatAttribute(java.lang.String attrName, float value)
public void setFloatAttribute(java.lang.String attrName, java.lang.String value)
public void setOSHAttribute(java.lang.String attrName, ObjectStateHolder value)
public void addAttributeToList(java.lang.String name, java.lang.Object value)
name
- - The attribute namevalue
- - The attribute valuepublic void removeAttributeFromList(java.lang.String name, java.lang.Object value)
name
- - The attribute namevalue
- - The attribute valuepublic void setListAttribute(java.lang.String name, java.lang.Object[] values)
name
- - The attribute namevalues
- - Array of new attributes that will replace the current OSH attribute valuespublic void addAttributeToList(AttributeStateHolder attrSH)
attrSH
- The attribute state holder to be addedpublic void removeAttributeFromList(AttributeStateHolder attrSH)
attrSH
- The attribute state holder to be addedpublic void setListAttribute(AttributeStateHolder attrSH)
attrSH
- The attribute state holder to be addedpublic void removeAttribute(java.lang.String attrName)
attrName
- The name of attribute to be removedpublic java.lang.String toString()
toString
in class java.lang.Object
public Element toXml()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
deepClone()
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
public java.lang.Object deepClone() throws java.lang.CloneNotSupportedException
clone()
java.lang.CloneNotSupportedException
public boolean equals(java.lang.Object anObject)
true
if and only if the argument is not
null
and is an ObjectStateHolder
that represents the same data as this object.
equals
in class java.lang.Object
anObject
- The object to compare this ObjectStateHolder
against.
true
if the ObjectStateHolder
s are equal,
otherwise false
.public int hashCode()
hashCode
in class java.lang.Object
public void setcomparator(AppilogComparator newComparator)
public void resetId()
public int compareTo(java.lang.Object o)
compareTo(ObjectStateHolder)
. Otherwise,
it throws a ClassCastException
, because ObjectStateHolder objects are comparable
only with other ObjectStateHolder objects.
compareTo
in interface java.lang.Comparable
o
- the Object
to be compared.
0
if the argument is a string
lexicographically equal to this string.0
if the argument is a string lexicographically
greater than this string.0
if the argument is a string lexicographically
less than this string.
java.lang.ClassCastException
- if the argument is not a String
.Comparable
public int compareTo(ObjectStateHolder other)
compareTo
returns the
difference of the two IDs: this.getId() - anotherOSH.getId()
other
- The String
to be compared to this one.
0
if the argument's ID is equal to
this ID; a value less than 0
if this ID
less than the argument's ID; and a value greater than
0
if this ID is greater than the argument's ID.
java.lang.NullPointerException
- if anotherOSH
is null
.public java.lang.String toXmlString()
public java.lang.String toXmlString(boolean withEncoding)
withEncoding
- should the XML string representation be prepended with the encoding info?
public java.lang.StringBuffer toXmlString(java.lang.StringBuffer xml, boolean withEncoding)
public AttributeStateHolder findAttr(java.lang.String attrName)
public boolean isReference()
public void undoReference()
public java.lang.String getAnchorID()
public void setAnchorID(java.lang.String anchorID)
public boolean isAnchor()
public void setAnchor(boolean anchor)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |