|
RSE Release 3.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IRemoteObjectResolver
Interface for resolving an object in a subsystem from a unique ID.
This is the functional opposite of IRemoteObjectIdentifier
.
IRemoteObjectIdentifier
Method Summary | |
---|---|
Object |
getObjectWithAbsoluteName(String key)
Deprecated. - use getObjectwithAbsoluteName(String key, IProgressMonitor monitor) |
Object |
getObjectWithAbsoluteName(String key,
IProgressMonitor monitor)
Return the remote object that corresponds to the specified unique ID. |
Method Detail |
---|
Object getObjectWithAbsoluteName(String key, IProgressMonitor monitor) throws Exception
This must be implemented by subsystems in order to find remote objects
for drag and drop, clipboard, and other object retrieval mechanisms in
support of remote objects. It is the functional opposite of
IRemoteObjectIdentifier.getAbsoluteName(Object)
.
Because each subsystem maintains it's own objects, it is the
responsibility of the subsystem to determine how an ID (or key) for a
given object maps to the real object. Subsystems also need to ensure that
objects of different type (such as filters, actual resources or error
messages) all have different IDs. See
IRemoteObjectIdentifier.getAbsoluteName(Object)
for an example.
In case a cached copy of remote object is available locally, this method will not contact the remote side in order to check whether the cached copy is up-to-date. Clients are responsible themselves for refreshing the remote object when they think it is necessary.
In case a cached local copy is not available, the remote system may be
contacted to retrieve the remote object. In this case, this call may be a
long-running operation and may throw an exception. Note, however, that
since keys used as IDs are generated by a remote object adapter that
implements IRemoteObjectIdentifier
, a cached copy of the remote
object will typically be in memory from generating the key. A notable
exception to this case is when the system view is restored to its
previous state during startup.
Uniqueness and Multiple Contexts
The RSE
SystemView allows the same remote object to be displayed in multiple
different contexts, i.e. under multiple different filters. In this case,
each occurrence of the same object must return the same absolute name.
For the reverse mapping, however, this method may return only one context
object even though multiple different ones are shown in the SystemView.
key
- the unique id of the remote object. Must not be
null
.monitor
- the progress monitor
null
if no object
is found with the given id.
Exception
- in case an error occurs contacting the remote system
while retrieving the requested remote object. Extenders are
encouraged to throw SystemMessageException
in order
to support good user feedback in case of errors. Since
exceptions should only occur while retrieving new remote
objects during startup, clients are typically allowed to
ignore these exceptions and treat them as if the remote
object were simply not there.IRemoteObjectIdentifier.getAbsoluteName(Object)
Object getObjectWithAbsoluteName(String key) throws Exception
key
- the unique id of the remote object. Must not be
null
.
null
if no object
is found with the given id.
Exception
- in case an error occurs contacting the remote system
while retrieving the requested remote object.
|
RSE Release 3.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |