com.sun.star.lib.uno.helper

## Class WeakBase

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

- All Implemented Interfaces:
    XTypeProvider, XInterface, XWeak
  Direct Known Subclasses:
    ComponentBase

      public class WeakBase
      extends Object
      implements XWeak, XTypeProvider

  This class can be used as the base class for UNO components. It implements the capability to be kept weak (com.sun.star.uno.XWeak) and it implements com.sun.star.lang.XTypeProvider which is necessary for using the component with StarBasic.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static Map<Class<?>,byte[]>` | `_mapImplementationIds`
    `protected static Map<Class<?>,Type[]>` | `_mapTypes`

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

      `UNOTYPEINFO`

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

      `UNOTYPEINFO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WeakBase()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `finalize()` Override of Object.finalize.
    `byte[]` | `getImplementationId()` Method of XTypeProvider.
    `Type[]` | `getTypes()` Method of XTypeProvider.
    `XAdapter` | `queryAdapter()` Method of XWeak.

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

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

- - ### Field Detail

    - #### _mapImplementationIds

          protected static Map<Class<?>,byte[]> _mapImplementationIds

    - #### _mapTypes

          protected static Map<Class<?>,Type[]> _mapTypes

  - ### Constructor Detail

    - #### WeakBase

          public WeakBase()

  - ### Method Detail

    - #### queryAdapter

          public XAdapter queryAdapter()

      Method of XWeak. The returned XAdapter implementation can be used to keap a weak reference to this object.
      Specified by:
        `queryAdapter` in interface `XWeak`
      Returns:
        a com.sun.star.uno.XAdapter implementation.

    - #### finalize

          protected void finalize()
                           throws Throwable

      Override of Object.finalize. When there are no references to this object anymore then the garbage collector calls this method. Thereby causing the adapter object to be notified. The adapter, in turn, notifies all listeners (com.sun.star.uno.XReference)
      Overrides:
        `finalize` in class `Object`
      Throws:
        `Throwable`

    - #### getTypes

          public Type[] getTypes()

      Method of XTypeProvider. It returns an array of Type objects which represent all implemented UNO interfaces of this object.
      Specified by:
        `getTypes` in interface `XTypeProvider`
      Returns:
        Type objects of all implemented interfaces.

    - #### getImplementationId

          public byte[] getImplementationId()

      Method of XTypeProvider. It provides an identifier that represents the set of UNO interfaces implemented by this class. All instances of this class which run in the same Java Virtual Machine return the same array. (This only works as long the ClassLoader preserves the class even if no instance exist.)
      Specified by:
        `getImplementationId` in interface `XTypeProvider`
      Returns:
        identifier as array of bytes