com.jacob.com

## Class JacobObject

- java.lang.Object
- - com.jacob.com.JacobObject

- Direct Known Subclasses:
    Dispatch, DispatchEvents, DispatchProxy, EnumVariant, SafeArray, Variant

      public class JacobObject
      extends java.lang.Object

  The superclass of all Jacob objects. It is used to create a standard API framework and to facilitate memory management for Java and COM memory elements.

  All instances of this class and subclasses are automatically managed by the ROT. This means the ROT cannot be a subclass of JacobObject.

  All COM object created by JACOB extend this class so that we can automatically release them when the thread is detached from COM - if we leave it to the finalizer it will call the release from another thread, which may result in a segmentation violation.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JacobObject()` Standard constructor that adds this JacobObject to the memory management pool.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static void` | `debug(java.lang.String istrMessage)` Very basic debugging function.
    `static java.lang.String` | `getBuildDate()` Deprecated. use JacobReleaseInfo.getBuildDate() instead.
    `static java.lang.String` | `getBuildVersion()` Deprecated. use JacobReleaseInfo.getBuildVersion() instead.
    `protected static boolean` | `isDebugEnabled()`
    `void` | `safeRelease()` Finalizers call this method.

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

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

- - ### Constructor Detail

    - #### JacobObject

          public JacobObject()

      Standard constructor that adds this JacobObject to the memory management pool.

  - ### Method Detail

    - #### safeRelease

          public void safeRelease()

      Finalizers call this method. This method should release any COM data structures in a way that it can be called multiple times. This can happen if someone manually calls this and then a finalizer calls it.

    - #### isDebugEnabled

          protected static boolean isDebugEnabled()

    - #### getBuildDate

          @Deprecated
          public static java.lang.String getBuildDate()

      Deprecated. use JacobReleaseInfo.getBuildDate() instead.
      Loads JacobVersion.Properties and returns the value of version in it
      Returns:
        String value of version in JacobVersion.Properties or "" if none

    - #### getBuildVersion

          @Deprecated
          public static java.lang.String getBuildVersion()

      Deprecated. use JacobReleaseInfo.getBuildVersion() instead.
      Loads JacobVersion.Properties and returns the value of version in it
      Returns:
        String value of version in JacobVersion.Properties or "" if none

    - #### debug

          protected static void debug(java.lang.String istrMessage)

      Very basic debugging function.
      Parameters:
        `istrMessage` -

http://jacob-project.sourceforge.net