IBM Rational Functional Tester
Version 8.1.1000
IBM Rational Functional Tester Proxy SDK Reference

Project Version 2.3

com.rational.test.ft.domain
Class DescribedObjectValue

java.lang.Object   extended by com.rational.test.ft.domain.DescribedObjectValue
All Implemented Interfaces:
com.rational.test.ft.value.managers.IManageValueClass

public class DescribedObjectValue
extends java.lang.Object
implements com.rational.test.ft.value.managers.IManageValueClass

The value class used to persist a DescribedObjectReference/DescribedObject.


Constructor Summary
DescribedObjectValue()
           
 
Method Summary
 int compare(java.lang.Object left, java.lang.Object right, com.rational.test.ft.value.managers.ICompareValueClass nested)
          Compares objects supported by this value class manager and returns a result in the range 0 to 100.
 java.lang.Object createValue(java.lang.Object sourceToCopy)
          Copies an object of the managed class.
 java.lang.String getCanonicalName()
          Returns a canonical name for the value class that uniquely identifies the streamed format of the data associated with this class.
 java.lang.String getClassName()
          Returns the class name of the object that this manager represents.
 java.lang.Object persistIn(com.rational.test.ft.value.managers.IPersistIn persist, com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
          Pulls data from a supplied input object.
 java.lang.Object persistIn(com.rational.test.ft.value.managers.IPersistInNamed persist, com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
          Pulls data from a supplied input object.
 void persistOut(java.lang.Object theObject, com.rational.test.ft.value.managers.IPersistOut persist, com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
          Pushes the significant data associated with an object into the specified output object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DescribedObjectValue

public DescribedObjectValue()
Method Detail

compare

public int compare(java.lang.Object left,                    java.lang.Object right,                    com.rational.test.ft.value.managers.ICompareValueClass nested)
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Compares objects supported by this value class manager and returns a result in the range 0 to 100. If the objects are equivalent, this method returns 100. If the objects have no similarities, 0 is returned. If the objects are partially equivalent, than an appropriate value between 0 and 100 will be returned. Typically, only 0 and 100 are returned by an implementation (based on straight equality ((left.equals(right)) ? 100 : 0 )).

An example of when a value other then 0 or 100 is returned is a caption. Window captions commonly contain dynamic information, such as a file name or date type information. A partial match on a caption might return 50 rather than 0 or 100.

Specified by:
compare in interface com.rational.test.ft.value.managers.IManageValueClass
Parameters:
left - The first object in the comparison.
right - The second object in the comparison.
nested - An object that can perform nested complex compare actions.
Returns:
An integer value in the range 0 to 100 that depicts the level of equality. 100 is a match.

createValue

public java.lang.Object createValue(java.lang.Object sourceToCopy)
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Copies an object of the managed class. The copy does not have to be a deep copy and should return null if a copy operation is not be performed. The primary use of this method is to shear property methods returning extended instances of the expected class. For instance, if java.awt.Point is the expected return type, however mycompany.MyPoint (which extends the AWT Point class) is actually returned, then the returned object must be sheared before it can be used as a Point property. To get the MyPoint object use, an IManageValueClass must be created for the new class.

Specified by:
createValue in interface com.rational.test.ft.value.managers.IManageValueClass
Parameters:
sourceToCopy - An instance of the associated value class.
Returns:
A pure copy of the expected value class.

getCanonicalName

public java.lang.String getCanonicalName()
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Returns a canonical name for the value class that uniquely identifies the streamed format of the data associated with this class. Verification point data can be read on more than one platform by using multiple languages. The data format remains the same, however the associated IManageValueClass may vary from platform to platform. This method returns a name that does not vary between platforms.

For instance, rational.hashtable may be returned for the set of key/value pairs associated with a java.util.hashtable. On another platform this data may be read into a C++ STL grid type object. The data can be read because a canonical name for the value class has been associated with the data. Note that the name in this example uses the rational company name so that this value class name for a hashtable does not conflict with another company.

This name is automatically added to the data stream for an IManageValueClass mapped object and therefore does not need to be explicitly added by an implementation of persistOut.

Specified by:
getCanonicalName in interface com.rational.test.ft.value.managers.IManageValueClass
Returns:
The canonical name for the value class.

getClassName

public java.lang.String getClassName()
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Returns the class name of the object that this manager represents. Each IManageValueClass can only support one value class. This name is used to map Sthe value class to the appropriate value class manager.

Specified by:
getClassName in interface com.rational.test.ft.value.managers.IManageValueClass
Returns:
The full class name of the associated value class.

persistIn

public java.lang.Object persistIn(com.rational.test.ft.value.managers.IPersistIn persist,                                   com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Pulls data from a supplied input object. The data must be pulled in the same order in which it was pushed by persistOut.

An instance of IAuxiliaryDataManager is supplied that must be used to locate auxiliary data files. Auxiliary data files has to follow the supplied naming convention.

Specified by:
persistIn in interface com.rational.test.ft.value.managers.IManageValueClass
Parameters:
persist - The input stream that data is pulled out of.
auxData - The auxiliary data interface used for naming associated data files.
Returns:
The object extracted from the data stream.
See Also:
IManageValueClass.persistOut(Object,IPersistOut,IAuxiliaryDataManager)

persistIn

public java.lang.Object persistIn(com.rational.test.ft.value.managers.IPersistInNamed persist,                                   com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Pulls data from a supplied input object. The data must be pulled in using the names supplied when the object was persisted by persistOut.

An instance of IAuxiliaryDataManager is uspplied that must be used to locate auxiliary data files. Auxiliary data files has to follow the supplied naming convention.

Specified by:
persistIn in interface com.rational.test.ft.value.managers.IManageValueClass
Parameters:
persist - The input object that the named data is pulled out of.
auxData - The auxiliary data interface used for naming associated data files.
Returns:
The object extracted from the data stream.
See Also:
IManageValueClass.persistOut(Object,IPersistOut,IAuxiliaryDataManager)

persistOut

public void persistOut(java.lang.Object theObject,                        com.rational.test.ft.value.managers.IPersistOut persist,                        com.rational.test.ft.value.managers.IAuxiliaryDataManager auxData)
Description copied from interface: com.rational.test.ft.value.managers.IManageValueClass
Pushes the significant data associated with an object into the specified output object. Note that the data persisted must be either a primitive type or have a IManageValueClass in the value class map to support the data class.

An instance of IAuxiliaryDataManager is supplied that must be used to name auxiliary data files.

Specified by:
persistOut in interface com.rational.test.ft.value.managers.IManageValueClass
Parameters:
theObject - The object that is to be inserted into the supplied output stream.
persist - The output stream to insert data into.
auxData - The auxiliary data interface used for naming associated data files.
See Also:
IManageValueClass.persistIn(IPersistIn,IAuxiliaryDataManager), IManageValueClass.persistIn(IPersistInNamed,IAuxiliaryDataManager), IPersistOut, IAuxiliaryDataManager