Class ObjectFactory

  • Direct Known Subclasses:
    Factory

    public class ObjectFactory
    extends Object
    Factory keeps track of COM objects - all objects created with this factory can be disposed by calling disposeAll().
    • Constructor Detail

      • ObjectFactory

        public ObjectFactory()
    • Method Detail

      • getRunningObjectTable

        public IRunningObjectTable getRunningObjectTable()
        CoInitialize must be called be fore this method. Either explicitly or implicitly via other methods.
        Returns:
        running object table
      • createProxy

        public <T> T createProxy​(Class<T> comInterface,
                                 IDispatch dispatch)
        Creates a ProxyObject for the given interface and IDispatch pointer.

      • createObject

        public <T> T createObject​(Class<T> comInterface)
        Creates a new COM object (CoCreateInstance) for the given progId and returns a ProxyObject for the given interface.
      • fetchObject

        public <T> T fetchObject​(Class<T> comInterface)
                          throws COMException
        Gets and existing COM object (GetActiveObject) for the given progId and returns a ProxyObject for the given interface.
        Throws:
        COMException
      • register

        public void register​(ProxyObject proxyObject)
      • unregister

        public void unregister​(ProxyObject proxyObject)
      • disposeAll

        public void disposeAll()
      • getLCID

        public WinDef.LCID getLCID()
        Retrieve the LCID to be used for COM calls.
        Returns:
        If setLCID is not called retrieves the users default locale, else the set LCID.
      • setLCID

        public void setLCID​(WinDef.LCID value)
        Set the LCID to use for COM calls.
        Parameters:
        value - override LCID. NULL resets to default.