The modelObjectDescriptor extension point

The modelObjectDescriptor extension point combines and enhances the deprecated contentProvider, labelProvider, layoutProvider, and actionHandler extension points.

The modelObjectDescriptor extension point has four attributes. The attributes specify the type of the object, the type of the test editor where the object is used, and the general name and icon for the object. The name should not have any formatting characters in it. The name with the icon is used primarily for reporting purposes.
Attribute Description
type Represents the type of the model object, returned by the CBActionElement.getType() method.
model_type The type of the model or test. The same value returned by your CBTest.getType() method. For performance testing, protocol extensions use com.ibm.rational.test.lt.lttest.
icon The image that represents your object.
label The name of your object.
The modelObjectDescriptor extension point has four child definitions, as described in the following table:
Child Attributes description
labelProvider. See com.ibm.rational.common.test.editor.framework.extensions. ExtLabelProvider class.
  • treeLabel — The text to be displayed in the tree in the Main section of the editor. This text can be static or contain formatting. It is up to the implementing class to format and return proper textual representation of an element.
  • statusLine — The text to be displayed on the status line when the object is selected in the Main section tree of the editor. If omitted, the value of the treeLabel attribute will be used for this purpose.
  • tooltip — The text to be displayed in the tooltip (when appropriate). If omitted, the value of the treeLabel will be used for this purpose.
  • menuText — The text to be displayed in a pop-up menu, such as Add or Insert. If omitted, the value of the modelObjectDescriptor label will be used for this purpose.
  • description — The longer description of the model element. If omitted, the value of the modelObjectDescriptor label will be used for this purpose.
  • icon — The image that represents the model element. May be same or different as the one specified in the modelObjectDescriptor icon.
  • class — The instance of this class will be created when an object is set up to be referenced in the editor. There is a default base class to be used for this purpose, called ExtLabelProvider. It provides methods that return information, specified in the extension. All of its methods can be overridden by the extending class to provide appropriate formatting.
layoutProvider. See com.ibm.rational.common.test.editor.framework.extensions. ExtLayoutProvider class.
  • class — The instance of this class will be created when the object details are displayed in the editor’s Details section. A model element must have a layoutProvider class if this object is displayed in the Main section tree. There is a default base class to be used for this purpose, called ExtLayoutProvider. It provides methods for constructing, formatting, and refreshing Details section for the model element. The methods layoutControls and refreshControls must be overridden by the extending class. The com.ibm.rational.common.test.editor.framework.extensions.ExtLayoutProvider class implements the SelectionListener and ModifyListener interfaces, so it can be used to listen to such events generated by your controls.
contentProvider. See ExtContentProvider class.
  • class — The instance of this class will be created when the object hierarchy information needs to be discovered. A model element must have a contentProvider class if the object is displayed in the Main section tree. There is a default base class to be used for this purpose, called ExtContentProvider. It provides methods for discovering information about object children and parents. See the Eclipse IStructuredContentProvider interface for more details. In many cases there is no need to override any of the ExtContentProvider methods, but if some non-standard processing must be done, the first method to override is getChildrenAsList(), as it is called by other methods in this class.
actionHandler. See the ExtActionHandler class.
  • class — The instance of this class will be created when a new object of this type needs to be created or when the existing object needs to be removed from model or moved up or down. Your class must extend ExtActionHandler.