Class 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 to System.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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • remote_environment

        public remote_environment​(java.lang.Object context)
    • Method Detail

      • getContext

        public java.lang.Object getContext()
        Description copied from interface: IEnvironment
        Gets the context of this environment.
        Specified by:
        getContext in interface IEnvironment
        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 interface IEnvironment
        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 call registerInterface for the same combination of oid and type at the same time; the race condition is solved by letting one of the calls register its argument object, ignoring the argument object of the other call, and letting both calls return the same object.

        The registered object is held only weakly by the environment. After a call to registerInterface, a call to getRegisteredInterface only succeeds as long as the registered object is still strongly reachable, and the registered object has not been explicitly revoked by calling revokeInterface.

        Specified by:
        registerInterface in interface IEnvironment
        Parameters:
        object - the object to register; must be non-null
        oid - in-out parameter containing the OID of object. 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 given object should implement this type.
        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 and revokeInterface 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 to revokeInterface (and calls to revokeInterface 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 interface IEnvironment
        Parameters:
        oid - the OID of the object to revoke; must be non-null
        type - 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 interface IEnvironment
        Parameters:
        oid - the OID of the object to retrieve; must be non-null
        type - 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 interface IEnvironment
        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 to System.out.

        This is for debug purposes.

        Specified by:
        list in interface IEnvironment