|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.jdo.JDOHelper
public class JDOHelper
This class can be used by a JDO-aware application to call the JDO behavior
of PersistenceCapable
instances without declaring them to be
PersistenceCapable
.
It is also used to acquire a PersistenceManagerFactory
via
various methods.
This helper class defines static methods that allow a JDO-aware
application to examine the runtime state of instances. For example,
an application can discover whether the instance is persistent,
transactional, dirty, new, deleted, or detached; and to get its associated
PersistenceManager
if it has one.
Constructor Summary | |
---|---|
JDOHelper()
|
Method Summary | |
---|---|
static java.lang.Object |
getObjectId(java.lang.Object pc)
Return a copy of the JDO identity associated with the parameter instance. |
static java.util.Collection |
getObjectIds(java.util.Collection pcs)
Get object ids for a collection of instances. |
static java.lang.Object[] |
getObjectIds(java.lang.Object[] pcs)
Get object ids for an array of instances. |
static PersistenceManager |
getPersistenceManager(java.lang.Object pc)
Return the associated PersistenceManager if there is one. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.File propsFile)
Returns a PersistenceManagerFactory configured based
on the properties stored in the file at
propsFile . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.File propsFile,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the file at
propsFile . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.InputStream stream)
Returns a PersistenceManagerFactory configured based
on the Properties stored in the input stream at
stream . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.InputStream stream,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the Properties stored in the input stream at
stream . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.util.Map props)
Get a PersistenceManagerFactory based on a Properties
instance, using the current thread's context class loader to locate the
PersistenceManagerFactory class. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.util.Map props,
java.lang.ClassLoader cl)
Get a PersistenceManagerFactory based on a
Properties instance and a class loader. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource,
java.lang.ClassLoader propsLoader,
java.lang.ClassLoader pmfLoader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String jndiLocation,
javax.naming.Context context)
Returns a PersistenceManagerFactory at the JNDI
location specified by jndiLocation in the context
context . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String jndiLocation,
javax.naming.Context context,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory at the JNDI
location specified by jndiLocation in the context
context . |
static java.lang.Object |
getTransactionalObjectId(java.lang.Object pc)
Return a copy of the JDO identity associated with the parameter instance. |
static java.lang.Object |
getVersion(java.lang.Object pc)
Return the version of the instance. |
static boolean |
isDeleted(java.lang.Object pc)
Tests whether the parameter instance has been deleted. |
static boolean |
isDetached(java.lang.Object pc)
Tests whether the parameter instance has been detached. |
static boolean |
isDirty(java.lang.Object pc)
Tests whether the parameter instance is dirty. |
static boolean |
isNew(java.lang.Object pc)
Tests whether the parameter instance has been newly made persistent. |
static boolean |
isPersistent(java.lang.Object pc)
Tests whether the parameter instance is persistent. |
static boolean |
isTransactional(java.lang.Object pc)
Tests whether the parameter instance is transactional. |
static void |
makeDirty(java.lang.Object pc,
java.lang.String fieldName)
Explicitly mark the parameter instance and field dirty. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JDOHelper()
Method Detail |
---|
public static PersistenceManager getPersistenceManager(java.lang.Object pc)
PersistenceManager
if there is one.
Transactional and persistent instances return the associated
PersistenceManager
.
Transient non-transactional instances and instances of classes
that do not implement PersistenceCapable
return
null
.
pc
- the PersistenceCapable
instance.
PersistenceManager
associated with the parameter
instance.PersistenceCapable.jdoGetPersistenceManager()
public static void makeDirty(java.lang.Object pc, java.lang.String fieldName)
PersistenceCapable
classes are able to detect
changes made to their fields. However, if a reference to an array is
given to a method outside the class, and the array is modified, then the
persistent instance is not aware of the change. This API allows the
application to notify the instance that a change was made to a field.
Transient instances and instances of classes
that do not implement PersistenceCapable
ignore this method.
pc
- the PersistenceCapable
instance.fieldName
- the name of the field to be marked dirty.PersistenceCapable.jdoMakeDirty(String fieldName)
public static java.lang.Object getObjectId(java.lang.Object pc)
Persistent instances of PersistenceCapable
classes have a
JDO identity managed by the PersistenceManager
. This method
returns a copy of the ObjectId that represents the JDO identity.
Transient instances and instances of classes that do not implement
PersistenceCapable
return null
.
The ObjectId may be serialized
and later restored, and used with a PersistenceManager
from
the same JDO implementation to locate a persistent instance with the same
data store identity.
If the JDO identity is managed by the application, then the ObjectId
may be used with a PersistenceManager
from any JDO
implementation that supports the PersistenceCapable
class.
If the JDO identity is not managed by the application or the data store, then the ObjectId returned is only valid within the current transaction.
pc
- the PersistenceCapable instance.
PersistenceManager.getObjectId(Object pc)
,
PersistenceCapable.jdoGetObjectId()
,
PersistenceManager.getObjectById(Object oid, boolean validate)
public static java.util.Collection getObjectIds(java.util.Collection pcs)
pcs
- the persistence-capable instances
getObjectId(Object pc)
,
getObjectIds(Object[] pcs)
public static java.lang.Object[] getObjectIds(java.lang.Object[] pcs)
pcs
- the persistence-capable instances
getObjectId(Object pc)
,
getObjectIds(Collection pcs)
public static java.lang.Object getTransactionalObjectId(java.lang.Object pc)
pc
- the PersistenceCapable
instance.
PersistenceCapable.jdoGetTransactionalObjectId()
,
PersistenceManager.getObjectById(Object oid, boolean validate)
public static java.lang.Object getVersion(java.lang.Object pc)
pc
- the instance
public static boolean isDirty(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance has been modified in
the current transaction.StateManager.makeDirty(PersistenceCapable pc,
String fieldName)
,
PersistenceCapable.jdoIsDirty()
public static boolean isTransactional(java.lang.Object pc)
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance is transactional.PersistenceCapable.jdoIsTransactional()
public static boolean isPersistent(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance is persistent.PersistenceManager.makePersistent(Object pc)
,
PersistenceCapable.jdoIsPersistent()
public static boolean isNew(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance was made persistent
in the current transaction.PersistenceManager.makePersistent(Object pc)
,
PersistenceCapable.jdoIsNew()
public static boolean isDeleted(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance was deleted
in the current transaction.PersistenceManager.deletePersistent(Object pc)
,
PersistenceCapable.jdoIsDeleted()
public static boolean isDetached(java.lang.Object pc)
Transient instances return false.
pc
- the instance
true
if this instance is detached.PersistenceCapable.jdoIsDetached()
public static PersistenceManagerFactory getPersistenceManagerFactory(java.util.Map props)
PersistenceManagerFactory
based on a Properties
instance, using the current thread's context class loader to locate the
PersistenceManagerFactory
class.
props
- a Properties
instance with properties of the
PersistenceManagerFactory
.
PersistenceManagerFactory
.getPersistenceManagerFactory(Map,ClassLoader)
public static PersistenceManagerFactory getPersistenceManagerFactory(java.util.Map props, java.lang.ClassLoader cl)
PersistenceManagerFactory
based on a
Properties
instance and a class loader.
The following are standard key values:
"javax.jdo.PersistenceManagerFactoryClass"
"javax.jdo.option.Optimistic",
"javax.jdo.option.RetainValues",
"javax.jdo.option.RestoreValues",
"javax.jdo.option.IgnoreCache",
"javax.jdo.option.NontransactionalRead",
"javax.jdo.option.NontransactionalWrite",
"javax.jdo.option.Multithreaded",
"javax.jdo.option.ConnectionUserName",
"javax.jdo.option.ConnectionPassword",
"javax.jdo.option.ConnectionURL",
"javax.jdo.option.ConnectionFactoryName",
"javax.jdo.option.ConnectionFactory2Name",
"javax.jdo.option.Mapping",
"javax.jdo.mapping.Catalog",
"javax.jdo.mapping.Schema".
JDO implementations
are permitted to define key values of their own. Any key values not
recognized by the implementation must be ignored. Key values that are
recognized but not supported by an implementation must result in a
JDOFatalUserException
thrown by the method.
The returned PersistenceManagerFactory
is not
configurable (the setXXX
methods will throw an
exception).
JDO implementations might manage a map of instantiated
PersistenceManagerFactory
instances based on specified
property key values, and return a previously instantiated
PersistenceManagerFactory
instance. In this case, the
properties of the returned instance must exactly match the requested
properties.
props
- a Properties
instance with properties of the
PersistenceManagerFactory
.cl
- the class loader to use to load the
PersistenceManagerFactory
class
PersistenceManagerFactory
.public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. This method is equivalent to
invoking getPersistenceManagerFactory(String,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
propsResource
- the resource containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. Loads the resource via
loader
, and creates a PersistenceManagerFactory
with loader
. Any
IOException
s thrown during resource loading will
be wrapped in a JDOFatalUserException
.
propsResource
- the resource containing the Propertiesloader
- the class loader to use to load both the propsResource and
the PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource, java.lang.ClassLoader propsLoader, java.lang.ClassLoader pmfLoader)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. Loads the Properties via
propsLoader
, and creates a PersistenceManagerFactory
with pmfLoader
. Any
IOException
s thrown during resource loading will
be wrapped in a JDOFatalUserException
.
propsResource
- the resource containing the PropertiespropsLoader
- the class loader to use to load the propsResourcepmfLoader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.File propsFile)
PersistenceManagerFactory
configured based
on the properties stored in the file at
propsFile
. This method is equivalent to
invoking getPersistenceManagerFactory(File,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
propsFile
- the file containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.File propsFile, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the properties stored in the file at
propsFile
. Creates a PersistenceManagerFactory
with loader
. Any
IOException
s or
FileNotFoundException
s thrown during resource
loading will be wrapped in a JDOFatalUserException
.
propsFile
- the file containing the Propertiesloader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String jndiLocation, javax.naming.Context context)
PersistenceManagerFactory
at the JNDI
location specified by jndiLocation
in the context
context
. If context
is
null
, new InitialContext()
will be
used. This method is equivalent to invoking getPersistenceManagerFactory(String,Context,ClassLoader)
with Thread.currentThread().getContextClassLoader()
as
the loader
argument.
jndiLocation
- the JNDI location containing the
PersistenceManagerFactorycontext
- the context in which to find the named
PersistenceManagerFactory
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String jndiLocation, javax.naming.Context context, java.lang.ClassLoader loader)
PersistenceManagerFactory
at the JNDI
location specified by jndiLocation
in the context
context
. If context
is
null
, new InitialContext()
will be
used. Creates a PersistenceManagerFactory
with
loader
. Any NamingException
s thrown
will be wrapped in a JDOFatalUserException
.
jndiLocation
- the JNDI location containing the
PersistenceManagerFactorycontext
- the context in which to find the named
PersistenceManagerFactoryloader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.InputStream stream)
PersistenceManagerFactory
configured based
on the Properties stored in the input stream at
stream
. This method is equivalent to
invoking getPersistenceManagerFactory(InputStream,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
stream
- the stream containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.InputStream stream, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the Properties stored in the input stream at
stream
. Creates a PersistenceManagerFactory
with loader
. Any
IOException
s thrown during resource
loading will be wrapped in a JDOFatalUserException
.
stream
- the stream containing the Propertiesloader
- the class loader to use to load the
PersistenceManagerFactory
class
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |