Class remote_environment
- java.lang.Object
-
- com.sun.star.lib.uno.environments.remote.remote_environment
-
- All Implemented Interfaces:
IEnvironment
public final class remote_environment extends java.lang.Object implements IEnvironment
-
-
Constructor Summary
Constructors Constructor Description remote_environment(java.lang.Object context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
getContext()
Gets the context of this environment.java.lang.String
getName()
Gets the name of this environment.java.lang.Object
getRegisteredInterface(java.lang.String oid, Type type)
Retrieves a registered object, specified by OID and UNO interface type.java.lang.String
getRegisteredObjectIdentifier(java.lang.Object object)
Retrieves the OID for a registered object.void
list()
Lists the registered objects toSystem.out
.java.lang.Object
registerInterface(java.lang.Object object, java.lang.String[] oid, Type type)
Registers one UNO interface facet of an object.void
revokeInterface(java.lang.String oid, Type type)
Explicitly revokes a UNO interface facet.
-
-
-
Method Detail
-
getContext
public java.lang.Object getContext()
Description copied from interface:IEnvironment
Gets the context of this environment.- Specified by:
getContext
in interfaceIEnvironment
- Returns:
- the context of this environment
-
getName
public java.lang.String getName()
Description copied from interface:IEnvironment
Gets the name of this environment.- Specified by:
getName
in interfaceIEnvironment
- Returns:
- the name of this environment
-
registerInterface
public java.lang.Object registerInterface(java.lang.Object object, java.lang.String[] oid, Type type)
Description copied from interface:IEnvironment
Registers one UNO interface facet of an object.Such an object will typically be one of three things:
- A local Java object, to be mapped out of this environment via a given bridge.
- A proxy object, mapped into this environment via some bridge B1, and now to be mapped out of this environment via a given bridge B2.
- A proxy object, created as a remote object is mapped into this environment via a given bridge.
The object actually registered may differ from the specified
object
that is passed as an argument. This enables an environment to work in a multi-threaded scenario, where two threads can callregisterInterface
for the same combination ofoid
andtype
at the same time; the race condition is solved by letting one of the calls register its argumentobject
, ignoring the argumentobject
of the other call, and letting both calls return the sameobject
.The registered object is held only weakly by the environment. After a call to
registerInterface
, a call togetRegisteredInterface
only succeeds as long as the registered object is still strongly reachable, and the registered object has not been explicitly revoked by callingrevokeInterface
.- Specified by:
registerInterface
in interfaceIEnvironment
- Parameters:
object
- the object to register; must be non-nulloid
- in-out parameter containing the OID ofobject
. This must be a non-null reference to an array of length at least one; the zeroth element is used to pass the argument in and out. If the zeroth element is null on input, the OID will be computed and passed out (that is, the zeroth element will never be null upon normal return).type
- the UNO interface type to register. This argument must be non-null, and must denote a UNO interface type. The givenobject
should implement thistype
.- Returns:
- the registered object (may differ from the
object
passed in); will never be null
-
revokeInterface
public void revokeInterface(java.lang.String oid, Type type)
Description copied from interface:IEnvironment
Explicitly revokes a UNO interface facet.Calls to
registerInterface
andrevokeInterface
must be paired. A facet is only removed from the environment when it has been revoked as often as it has been registered. This may change in the future, so that a facet would be removed upon the first call torevokeInterface
(and calls torevokeInterface
would no longer be necessary if the calling code does not want to control the temporal extent of the registration).It is not an error if the specified facet is not registered at this environment (either because no corresponding object has ever been registered, or it has been explicitly revoked, or it is no longer strongly reachable). In such a case, this method simply does nothing.
- Specified by:
revokeInterface
in interfaceIEnvironment
- Parameters:
oid
- the OID of the object to revoke; must be non-nulltype
- the UNO interface type of the object to revoke. This argument must be non-null, and must denote a UNO interface type.
-
getRegisteredInterface
public java.lang.Object getRegisteredInterface(java.lang.String oid, Type type)
Description copied from interface:IEnvironment
Retrieves a registered object, specified by OID and UNO interface type.- Specified by:
getRegisteredInterface
in interfaceIEnvironment
- Parameters:
oid
- the OID of the object to retrieve; must be non-nulltype
- the UNO interface type of the object to retrieve. This argument must be non-null, and must denote a UNO interface type.- Returns:
- the registered object, or null if none is found
-
getRegisteredObjectIdentifier
public java.lang.String getRegisteredObjectIdentifier(java.lang.Object object)
Description copied from interface:IEnvironment
Retrieves the OID for a registered object.- Specified by:
getRegisteredObjectIdentifier
in interfaceIEnvironment
- Parameters:
object
- a registered object; must be non-null- Returns:
- the OID of the
object
; will never be null
-
list
public void list()
Description copied from interface:IEnvironment
Lists the registered objects toSystem.out
.This is for debug purposes.
- Specified by:
list
in interfaceIEnvironment
-
-