|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
org.odmg
) of ozone.
See:
Description
Interface Summary | |
EnhDatabase | This interface enhances the original ODMG Database interface by a
standard way to create persistent objects. |
Class Summary | |
ODMG | This abstract class enhances the original ODMG Implementation interface
by a standard way to obtain the database of a given object. |
OzoneODMG | Implementation of the ODMG Implementation interface. |
OzoneODMGDArray | |
OzoneODMGDatabase | Implementation of the ODMG Database interface. |
OzoneODMGDBag | |
OzoneODMGDList | |
OzoneODMGDSet | |
OzoneODMGTransaction | Implementation of the ODMG Transaction interface. |
OzoneServerODMGDatabase | Implementation of the ODMG Database interface that is used
inside the ozone server to give the ODMG database objects their environment
and their interface to the database. |
Provides the ODMG 3.0 API (org.odmg
) of ozone. In fact, this is an
ODMG-like interface that tries to follow the ODMG design as far as possible.
However, some of the assumptions of ODMG are simply not true for ozone.
Especially the Database.makePersistent(java.lang.Object)
method cannot be
implemented on top of ozone. This is due the use of proxy objects in ozone.
ODMG ist not aware of such an architecture and it does not support it. Also
the need to subclass database classes from OzoneObject
or implement
the OzoneCompatible
interface is not ODMG compliant.
In other words: It is not possible to use ozone as an out-of-the-box replacement for another ODMG database without code changes. (I'm in doubt if this is possible with any combination of different ODMG implementations) But you will find the ODMG object and programming model in the ozone ODMG interface, which makes it easier to start with ozone if you are familiar with ODMG.
If you really need to keep your client code independent of ozone, we suggest
to make a wrapper that hides the actual ODMG implementation classes from the
client code. This wrapper should provide an explicit notion for creating
objects, like the OzoneODMGDatabase
. The database dependent
implementation of the wrapper can decide how to actual create objects and
handle other database specific things.
See also the samples included in the ozone distribution to learn how to program against the ozone ODMG API.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |