- All Known Implementing Classes:
DynamicEntityImpl
,XRDynamicEntity
,XRDynamicEntity_CollectionWrapper
public interface DynamicEntity
DynamicEntity
is the public interface for dealing with dynamic persistent objects.
The purpose of dynamic persistent objects is to enable (simple) data access when only mapping
information is available
and no concrete Java model is present (specifically, no .class
files .)
Applications using DynamicEntity
's can access the persistent state using property names
which correspond
to the mapped attributes in the underlying EclipseLink descriptors.
For properties mapped to containers (Collection
,
Map
, etc.), the property is retrieved then the resulting container can
be manipulated.
... DynamicEntity de = ...; // retrieve from database Collection<String> myListOfGroups = de.<Collection<String>>get("myListOfGroups"); if (!myListOfGroups.isEmpty()) { myListOfGroups.add("FabFour"); }To discover meta-data about a DynamicEntity's properties, see the
DynamicHelper
class- Since:
- EclipseLink 1.2
-
Method Summary
Modifier and TypeMethodDescription<T> T
Return the persistence value for the given property as the specified type.boolean
Discover if a property has a persistent valueSet the persistence value for the given property to the specified value
-
Method Details
-
get
Return the persistence value for the given property as the specified type. In the case of relationships, this call will populate lazy-loaded relationships- Type Parameters:
T
- generic type of the property (if not provided, assume Object). If the property cannot be cast to the specific type, aDynamicException
will be thrown.- Parameters:
propertyName
- the name of a mapped property If the property cannot be found, aDynamicException
will be thrown.- Returns:
- persistent value or relationship container of the specified type
- Throws:
DynamicException
-
set
Set the persistence value for the given property to the specified value- Parameters:
propertyName
- the name of a mapped property If the property cannot be found, aDynamicException
will be thrown.value
- the specified object- Returns:
- the same DynamicEntity instance
- Throws:
DynamicException
-
isSet
Discover if a property has a persistent value- Parameters:
propertyName
- the name of a mapped property If the property cannot be found, aDynamicException
will be thrown.- Returns:
- true if the property has been set
- Throws:
DynamicException
-