The following sections outline the runtime interfaces you can use to access Kodo-specific functionality from JDO. Each interface contains services and convenience methods missing from the JDO specification. Kodo strives to use the same naming conventions and API patterns as standard JDO methods in all extensions, so that Kodo JDO APIs feel as much as possible like standard JDO APIs.
The kodo.jdo.KodoPersistenceManagerFactory
interface extends the basic
javax.jdo.PersistenceManagerFactory
with Kodo-specific
features. The KodoPersistenceManagerFactory
offers APIs to obtain managed and unmanaged
PersistenceManager
s from the same factory, to
access the query cache, and to perform other Kodo-specific
operations. See the
interface Javadoc for details.
All Kodo PersistenceManager
s implement the
kodo.jdo.KodoPersistenceManager
interface. This interface extends the standard
javax.jdo.PersistenceManager
. Just as the
standard PersistenceManager
is the primary
window into JDO runtime services, the
KodoPersistenceManager
is the primary window from JDO
into Kodo-specific functionality. We strongly encourage you to
investigate the API extensions this interface contains.
Kodo extends JDO's standard query functionality with the
kodo.jdo.KodoQuery
interface. See its
Javadoc for
details on the convenience methods it provides.
Kodo expands JDO's standard
javax.jdo.datastore.DataStoreCache
interface
with the
kodo.jdo.KodoDataStoreCache
.
Section 10.1, “Data Cache” has detailed information on
Kodo's data caching system, including
the KodoDataStoreCache
.
Kodo includes a JDO-flavored facade to its internal query cache.
The
kodo.jdo.QueryResultCache
includes APIs much
like those in the DataStoreCache
, but
acting on queries rather than persistent objects. See
Section 10.1.4, “Query Cache” for details on query caching
in Kodo.
The
kodo.jdo.KodoFetchPlan
adds additional
options to the standard kodo.jdo.FetchPlan
for fine-tuning data loading. Its APIs include
large result set
support and lock
level control, among others.
Kodo goes one step further, extending
KodoFetchPlan
with
kodo.jdo.jdbc.JDBCFetchPlan
to add additional JDBC-specific tuning methods.
Unless you have customized Kodo to use a non-relational back-end
(see Section 9.9, “Non-Relational Stores”), all
JDO FetchPlan
s in Kodo implement
JDBCFetchPlan
, so feel free to cast to
this interface.
The
kodo.jdo.KodoJDOHelper
is a static helper
class that adds Kodo-specific utility methods to
javax.jdo.JDOHelper
.