|
||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
_AbstractOzoneMap_OzoneNode | |
_BaseList_SubList | This class follows the implementation requirements set forth in
AbstractList.subList(int, int) . |
_BaseTreeMap_SubMap | DO NOT USE THIS CLASS DIRECTLY. |
_NodeTreeMap_OzoneNode | |
BaseList | You are encouraged NOT to use this interface, but rather just use OzoneList , which does not contain the 'internal' methods, or even
SortedMap , which does not have any ozone dependency at all
This interface functions as a sort of base interface for ozone aware lists,
were those lists themselves can implement if the nodes in the list are
ozone objects themselves or merely serializables. |
BaseTreeMap | You are encouraged NOT to use this interface, but rather just use OzoneTreeMap , which does not contain the 'internal' methods, or even
SortedMap , which does not have any ozone dependency at all
This interface functions as a sort of base interface for ozone aware treemaps,
were those treemaps themselves can implement if the nodes in the tree are
ozone objects themselves or merely serializables. |
BaseTreeMap.Node | Node interface should be here and not in the Impl class; the BaseTreeMap interface _is_ part of the implementation for an OzoneMap... |
BaseTreeSet | You are encouraged NOT to use this interface, but rather just use OzoneTreeSet , which does not contain the 'internal' methods, or even
SortedSet , which does not have any ozone dependency at all
This interface functions as a sort of base interface for ozone aware treesets,
were those treesets themselves can implement if the nodes in the tree are
ozone objects themselves or merely serializables. |
FullLinkedList | |
FullTreeMap | Defines all methods that a FullTreeMapImpl needs to implement;
these also include the methods that need to be called by iterators, submaps
etc. |
FullTreeSet | Defines all methods that a FullTreeSet needs to implement;
these also include the methods that need to be called by iterators, submaps
etc. |
NodeTreeMap | Defines all methods that a NodeTreeMap needs to implement;
these also include the methods that need to be called by iterators, submaps
etc. |
NodeTreeSet | Defines all methods that a NodeTreeSet needs to implement;
these also include the methods that need to be called by iterators, submaps
etc. |
OzoneArrayList | See the overall description on OzoneCollection . |
OzoneCollection | An ozone aware collection. |
OzoneComparator | This interface is nothing more than a combination of the Serializable
and the Comparator interface. |
OzoneHashMap | See the overall description on OzoneCollection . |
OzoneHashSet | See the overall description on OzoneCollection . |
OzoneIdentityHashMap | See the overall description on OzoneCollection . |
OzoneIterator | Used by implementations of FullXxx Ozone collections. |
OzoneLinkedHashMap | See the overall description on OzoneCollection . |
OzoneLinkedHashSet | See the overall description on OzoneCollection . |
OzoneLinkedList | See the overall description on OzoneCollection . |
OzoneList | See the overall description on OzoneCollection . |
OzoneListIterator | See the overall description on OzoneCollection . |
OzoneMap | See the overall description on OzoneCollection .
|
OzoneMap.Node | |
OzoneProperties | Provides an ozone aware counterpart for java.util.Properties . |
OzoneSet | See the overall description on OzoneCollection . |
OzoneSortedMap | See the overall description on OzoneCollection . |
OzoneSortedSet | See the overall description on OzoneCollection . |
OzoneStack | See the overall description on OzoneCollection . |
OzoneTreeMap | See the overall description on OzoneCollection . |
OzoneTreeSet | See the overall description on OzoneCollection . |
OzoneWeakHashMap | See the overall description on OzoneCollection . |
Class Summary | |
_AbstractOzoneMap_AbstractOzoneNode | |
_AbstractOzoneMap_AbstractOzoneNode_Proxy | This class was automatically generated by ozone's OPP. |
_AbstractOzoneMap_AbstractOzoneNodeFactory | This class is generated by OPP. |
_AbstractOzoneMap_keySet_Proxy | This class was automatically generated by ozone's OPP. |
_AbstractOzoneMap_keySetFactory | This class is generated by OPP. |
_AbstractOzoneMap_values | Do not use this class directly. |
_AbstractOzoneMap_values_iterator | Do not use this class directly. |
_AbstractOzoneMap_values_Proxy | This class was automatically generated by ozone's OPP. |
_AbstractOzoneMap_valuesFactory | This class is generated by OPP. |
_BaseList_IteratorImpl | |
_BaseList_ListIteratorImpl | |
_BaseList_RandomAccessSubListImpl | |
_BaseList_SubList_listIterator | |
_BaseList_SubListImpl | This class follows the implementation requirements set forth in
AbstractList.subList(int, int) . |
_BaseTreeMap_entrySet | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_entrySet_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_entrySetFactory | This class is generated by OPP. |
_BaseTreeMap_keySet | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_keySet_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_keySetFactory | This class is generated by OPP. |
_BaseTreeMap_OzoneTreeIteratorImpl | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_OzoneTreeIteratorImpl_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_OzoneTreeIteratorImplFactory | This class is generated by OPP. |
_BaseTreeMap_SubMap_entrySet | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_SubMap_entrySet_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_SubMap_entrySetFactory | This class is generated by OPP. |
_BaseTreeMap_SubMap_keySet | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_SubMap_keySet_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_SubMap_keySetFactory | This class is generated by OPP. |
_BaseTreeMap_SubMap_values | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_SubMap_values_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_SubMap_valuesFactory | This class is generated by OPP. |
_BaseTreeMap_SubMapImpl | Do not use this class directly. |
_BaseTreeMap_SubMapImpl_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_SubMapImplFactory | This class is generated by OPP. |
_BaseTreeMap_TreeIterator | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_values | DO NOT USE THIS CLASS DIRECTLY. |
_BaseTreeMap_values_Proxy | This class was automatically generated by ozone's OPP. |
_BaseTreeMap_valuesFactory | This class is generated by OPP. |
_NodeTreeMap_OzoneNodeImpl | |
_NodeTreeMap_OzoneNodeImpl_Proxy | This class was automatically generated by ozone's OPP. |
_NodeTreeMap_OzoneNodeImplFactory | This class is generated by OPP. |
AbstractOzoneCollection | A basic implementation of most of the methods in the Collection interface to make it easier to create a collection. |
AbstractOzoneList | See the overall description on OzoneCollection . |
AbstractOzoneMap | An abstract implementation of Map to make it easier to create your own implementations. |
AbstractOzoneSet | An abstract implementation of Set to make it easier to create your own implementations. |
BaseListImpl | A basic implementation of most of the methods in the List interface to make it easier to create a List based on a random-access data structure. |
BasePropertiesImpl | See the overall description on OzoneCollection .
|
BaseSequentialListImpl | Abstract superclass to make it easier to implement the List interface when backed by a sequential-access store, such as a linked list. |
BaseTreeMapImpl | You are encouraged NOT to use this interface, but rather just use OzoneTreeMap , which does not contain the 'internal' methods, or even
SortedMap , which does not have any ozone dependency at all
This class functions as a sort of base class for ozone aware treemaps,
were those treemaps themselves can implement if the nodes in the tree are
ozone objects themselves or merely serializables. |
BaseTreeSetImpl | This class provides a TreeMap-backed implementation of the SortedSet interface. |
DoNotUse_SeeJavadoc | This class is only used to 'mark' a constructor or method which needs to be public because of the interface/proxy structure used by Ozone, but should NOT be called or used in any other way. |
FullLinkedListImpl | Linked list implementation of the List interface. |
FullPropertiesImpl | Do not use this class directly; use the OzoneProperties
interface instead. |
FullPropertiesImpl_Proxy | This class was automatically generated by ozone's OPP. |
FullPropertiesImplFactory | This class is generated by OPP. |
FullTreeMapImpl | This class provides a red-black tree implementation of the SortedMap interface. |
FullTreeMapImpl_Proxy | This class was automatically generated by ozone's OPP. |
FullTreeMapImplFactory | This class is generated by OPP. |
FullTreeSetImpl | Note that calling iterator() results in the creation of
an ozone object and thus in a write-action for the db. |
FullTreeSetImpl_Proxy | This class was automatically generated by ozone's OPP. |
FullTreeSetImplFactory | This class is generated by OPP. |
IteratorEnumerationAdaptor | Adaptor pattern that acts as a thin wrapper around an (ozone) iterator. |
NodePropertiesImpl | Do not use this class directly; use the OzoneProperties
interface instead. |
NodePropertiesImpl_Proxy | This class was automatically generated by ozone's OPP. |
NodePropertiesImplFactory | This class is generated by OPP. |
NodeTreeMapImpl | This class provides a red-black tree implementation of the SortedMap interface. |
NodeTreeMapImpl_Proxy | This class was automatically generated by ozone's OPP. |
NodeTreeMapImplFactory | This class is generated by OPP. |
NodeTreeSetImpl | Note that calling iterator() does NOT result in the creation
of an ozone object; this is opposite to behaviour of FullTreeSetImpl . |
NodeTreeSetImpl_Proxy | This class was automatically generated by ozone's OPP. |
NodeTreeSetImplFactory | This class is generated by OPP. |
Contains classes and interfaces for 'ozone aware' collections.
This package is not yet complete; implementations are being developed
while other implementations may already have finished. Here's a list
with classes and their status:
All classes in beta are currently used in a commercial project, no bugs
are currently known. Please report any bugs to the ozone developers
mailing list. (If it all works for you it is appreciated if you let us
know as well ;-).NodeLinkedListImpl
- planningNodePropertiesImpl
- betaNodeTreeMapImpl
- betaNodeTreeSetImpl
- betaFullLinkedListImpl
- planningFullPropertiesImpl
- betaFullTreeMapImpl
- betaFullTreeSetImpl
- beta
There are 3 ways of storing a collection into an ozone database.
java.util.Collection
member variable in a
class, and use standard getters and setters to change that
variable
org.ozoneDB.FullXxxImpl
collectionsorg.ozoneDB.NodeXxxImpl
collectionsThe second solution is a lot better: the collection stays on the
server side, the client can for instance call getFirst()
on
an OzoneFullTreeSet
and only the first object will be
transferred over to the client. All FullXxxImpl
collections
are always stored as a whole, so (de)serialization time is O(size()).
This means that these collections works best when the number of elements
in them is not too large.
The third solution provides for fully scaleable collections. Like
FullXxxImpl
classes, the NodeXxxImpl classes also
always stay on the server side as ozone objects, but where
FullXxxImpl
collections are stored as one big ozone object,
the NodeXxxImpl
collections are stored in multiple ozone
objects. This means that the number of objects in an node based
collection is not limited by server jvm memory. Because there is more
ozone overhead involved, these collections have slower access times
than their FullXxxImpl
counterparts for code execution, and
they take up more room in the db.
Note that because of the volatile nature of Iterator
s
and the internal structure of FullXxxImpl
classes,
garbage collection on the ozone database must be enabled to prevent the
database from getting clogged with defunct iterator instances. To avoid
cluttering you can also explicitly delete iterators or make use of
getClientXxx
methods, and use these copies to iterate
over. Iterators from NodeXxxImpl
instances are not
implemented as ozone objects, and thus do not clutter up the db.
Calls that create submaps or subcollections, like
entrySet()
or headSet(Object)
always cause the
creation of an ozone object.
Because there are some difficulties in implementing inner classes as ozone objects and the code on which classes are based are dependend on inner classes, a few naming conventions are introduced:
interface Xxx
and class XxxImpl
are what you can expect from standard ozone objects.
class AbstractXxx
is used for standard
abstract base classes or for classes [indirectly]
extended from OzoneObject
where these
abstract classes do not introduce new methods.
interface BaseXxx
and class
BaseXxxImpl
are used as a combination of the two
options above: "ozone aware abstract classes"
_org_ozoneDB_
. This naming
scheme has been choosen for 3 reasons:java.util
collection can
more easily be ported to be extended from an
org.ozoneDB.collections
without the need
for renaming methods.
|
||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |