Factory (Java UNO Runtime Reference)

Package com.sun.star.lib.uno.helper

## Class Factory

- java.lang.Object
- - com.sun.star.lib.uno.helper.WeakBase
  - - com.sun.star.lib.uno.helper.ComponentBase
    - - com.sun.star.lib.uno.helper.Factory

- All Implemented Interfaces:
    `XComponent`, `XServiceInfo`, `XSingleComponentFactory`, `XTypeProvider`, `XInterface`, `XWeak`

      public class Factory
      extends ComponentBase
      implements XSingleComponentFactory, XServiceInfo

  Factory helper class supporting com.sun.star.lang.XServiceInfo and com.sun.star.lang.XSingleComponentFactory.

  Note: This factory implementation does not support lang.XSingleServiceFactory.

- - ### Field Summary

    - ### Fields inherited from class com.sun.star.lib.uno.helper.ComponentBase

      `bDisposed, bInDispose, listenerContainer`

    - ### Fields inherited from class com.sun.star.lib.uno.helper.WeakBase

      `_mapTypes`

    - ### Fields inherited from interface com.sun.star.lang.XComponent

      `UNOTYPEINFO`

    - ### Fields inherited from interface com.sun.star.lang.XServiceInfo

      `UNOTYPEINFO`

    - ### Fields inherited from interface com.sun.star.lang.XSingleComponentFactory

      `UNOTYPEINFO`

    - ### Fields inherited from interface com.sun.star.lang.XTypeProvider

      `UNOTYPEINFO`

    - ### Fields inherited from interface com.sun.star.uno.XWeak

      `UNOTYPEINFO`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static XSingleComponentFactory` | `createComponentFactory​(Class impl_class, String[] supported_services)` | Creates an object factory supporting interfaces com.sun.star.lang.XSingleComponentFactory and com.sun.star.lang.XServiceInfo The implementation name is the name of the implementation class.
    `static XSingleComponentFactory` | `createComponentFactory​(Class impl_class, String impl_name, String[] supported_services)` | Creates an object factory supporting interfaces com.sun.star.lang.XSingleComponentFactory and com.sun.star.lang.XServiceInfo
    `Object` | `createInstanceWithArgumentsAndContext​(Object[] arguments, XComponentContext xContext)` |
    `Object` | `createInstanceWithContext​(XComponentContext xContext)` |
    `String` | `getImplementationName()` |
    `String[]` | `getSupportedServiceNames()` |
    `boolean` | `supportsService​(String service_name)` |
    `static boolean` | `writeRegistryServiceInfo​(String impl_name, String[] supported_services, XRegistryKey xKey)` | Writes component's implementation info to given registry key.

    - ### Methods inherited from class com.sun.star.lib.uno.helper.ComponentBase

      `addEventListener, dispose, finalize, postDisposing, preDisposing, removeEventListener`

    - ### Methods inherited from class com.sun.star.lib.uno.helper.WeakBase

      `getImplementationId, getTypes, queryAdapter`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### createComponentFactory

          public static XSingleComponentFactory createComponentFactory​(Class impl_class,
                                                                       String impl_name,
                                                                       String[] supported_services)
                                                                throws RuntimeException

      Creates an object factory supporting interfaces com.sun.star.lang.XSingleComponentFactory and com.sun.star.lang.XServiceInfo
      Parameters:
        `impl_class` - implementation class
        `impl_name` - implementation name
        `supported_services` - services implemented
      Returns:
        object factory
      Throws:
        `RuntimeException`
      Since:
        UDK 3.2.13

    - #### createComponentFactory

          public static XSingleComponentFactory createComponentFactory​(Class impl_class,
                                                                       String[] supported_services)
                                                                throws RuntimeException

      Creates an object factory supporting interfaces com.sun.star.lang.XSingleComponentFactory and com.sun.star.lang.XServiceInfo The implementation name is the name of the implementation class.
      Parameters:
        `impl_class` - implementation class
        `supported_services` - services implemented
      Returns:
        object factory
      Throws:
        `RuntimeException`

    - #### writeRegistryServiceInfo

          public static boolean writeRegistryServiceInfo​(String impl_name,
                                                         String[] supported_services,
                                                         XRegistryKey xKey)

      Writes component's implementation info to given registry key.
      Parameters:
        `impl_name` - name of implementation
        `supported_services` - supported services of implementation
        `xKey` - registry key to write to
      Returns:
        success

    - #### createInstanceWithContext

          public final Object createInstanceWithContext​(XComponentContext xContext)
                                                 throws Exception

      Specified by:
        `createInstanceWithContext` in interface `XSingleComponentFactory`
      Throws:
        `Exception`

    - #### createInstanceWithArgumentsAndContext

          public final Object createInstanceWithArgumentsAndContext​(Object[] arguments,
                                                                    XComponentContext xContext)
                                                             throws Exception

      Specified by:
        `createInstanceWithArgumentsAndContext` in interface `XSingleComponentFactory`
      Throws:
        `Exception`

    - #### getImplementationName

          public final String getImplementationName()

      Specified by:
        `getImplementationName` in interface `XServiceInfo`

    - #### supportsService

          public final boolean supportsService​(String service_name)

      Specified by:
        `supportsService` in interface `XServiceInfo`

    - #### getSupportedServiceNames

          public final String[] getSupportedServiceNames()

      Specified by:
        `getSupportedServiceNames` in interface `XServiceInfo`