getInspectable(Context context,
Element e)
Get an Inspectable implementation for the data referred to by the given
Element within the given Context, else null if no Inspectable can be found
for the given Element's data.

getInspectables(Context context)
Get an Inspectable implementation for the entire set of data referred to
within the given Context, else null if no single Inspectable can be found
to handle the entire contents.

registerInspectable

Register an Inspectable type to be used when requesting the Inspectable for
a given data type. Registering a null value for a given data type will
remove any previous Inspectable registered for that data type.

By default any data type which implements SupportsInspection is already
registered to use the DefaultInspectable and need not be registered by a
call to this method.

Use this method when an instance of the targetClass could theoretically
appear as the contents of a selection along with selected objects of some
other data type. For example: A Node type for one kind of file could
easily appear in a selection with a Node type of different kind of file
within the Context of a NavigatorWindow or the Context of a UML Modeler. If
the result of Node.getData() for each of those Node types both are
available to inspection, then they each should be registered independantly
via this method.

Typically, this is the method that most integrators would use, and still
applies even if the targetClass is never expected to be intermixed in a
selection with any other data types.

Parameters:

targetType - the data type for which an Inspectable implementation is
being registered.

inspectableType - the Inspectable implementation being registered.

Throws:

java.lang.ClassCastException - Thrown when inspectableClass is not an instance
of Inspectable.

register

remove

addInspectableFactory

Register an InspectableFactory to be used when requesting an Inspectable
for a given Context in its entirety.
Optionally use this method to handle a Context whose selection is made of
homogenous Elements whose data type would never appear intermixed with
Elements of any other data type in any Context of any View. For example:
If an Editor is known to tokenizes a source file into one or more Element
instances of a single data type where that type is unique to that Editor.
Then an InspectableFactory could be registered to handle a Context from
that Editor such that a single Inspectable may be returned which handles
the entire homogenous selection as opposed to one Inspectable being fetched
for each Element of the selection as would be the case otherwise. If there
is any chance that a given data type could appear intermixed with other
data types in the selection of any given Context, then registerInspectable
should be used instead of this method.
Typically, this is not the method that most integrators would use.

Parameters:

factory - an InspectableFactory capable of handling a Context whose
selection is made up of homogenous Elements of a unique data type.

registerPropertyModel

Register an IdePropertyModel type to be used when requesting the model type
for a given data type. Registering a null value for a given data type will
remove any previous model type registered for that data type.

Parameters:

targetType - the data type for which an IdePropertyModel
implementation is being registered.

modelType - the IdePropertyModel implementation being registered.

Throws:

java.lang.ClassCastException - Thrown when modelClass does not extend
IdePropertyModel