Class java_environment

  • All Implemented Interfaces:
    IEnvironment

    public final class java_environment
    extends java.lang.Object
    implements IEnvironment
    The java_environment is the environment where objects and interfaces are registered, which are mapped out of java or into java.

    The java_environment implements the IEnvironment interface defined in the uno runtime.

    Since:
    UDK1.0
    See Also:
    UnoRuntime, IEnvironment
    • Constructor Summary

      Constructors 
      Constructor Description
      java_environment​(java.lang.Object context)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      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 an interface identified by its object id and type from this environment.
      java.lang.String getRegisteredObjectIdentifier​(java.lang.Object object)
      Retrieves the object identifier for a registered interface from this environment.
      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 revokeAllProxies()
      Revokes all registered proxy interfaces.
      void revokeInterface​(java.lang.String oid, Type type)
      You have to revoke ANY interface that has been registered via this method.
      • Methods inherited from class java.lang.Object

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

      • java_environment

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

      • 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
        See Also:
        IEnvironment.registerInterface(java.lang.Object, java.lang.String[], com.sun.star.uno.Type)
      • revokeAllProxies

        public void revokeAllProxies()
        Revokes all registered proxy interfaces.

        This method should be part of IEnvironment. It is called from com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.dispose.

      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object