java.lang.Object | +----COM.odi.jcpp.CPlusPlus
public abstract void delete()
When you delete a C++ object, ensure that there are no objects with pointers or references to the deleted object. If an application tries to dereference a pointer or reference to a deleted C++ object, the results are unpredictable.
Also, you must not invoke delete() on an object that is not a top-level heap-allocated object. If you delete an embedded object, it can have unpredictable results.
An alternate way to delete a C++ object is to call the ObjectStore.destroy() method on the corresponding peer object. The peer class overrides the destroy() method so that the destructor for the object is invoked in C++. After this happens, ObjectStore reclaims the storage associated with the peer object.
When you invoke ObjectStore.destroy() on a primary Java object, ObjectStore leaves a tombstone. If any objects try to access the destroyed object, the tombstone causes ObjectStore to throw ObjectNotFoundException.
There is a bug that prevents ObjectStore from leaving a tombstone when you destroy a Java peer object. This will be fixed in a future release. For now, you must be careful that you do not destroy a Java peer object that is still referred to by another object and then try to use that reference. While doing so is always a mistake, in the current product there is no tombstone to flag the mistake for Java peer objects.
public static void noteJavaCppClassAssociation(String javaClassName, String cppClassName)
However, if you are coding your own peer classes, you must invoke this method. The result is that ObjectStore maps the specified C++ class to the specified Java peer class.
public static Database getTransientDatabase()
public static Segment getTransientSegment()