|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface Dao<E extends PersistableEntity>
Provides fundamental DAO capabilities for a single concrete PersistableEntity, using JDK 1.5 generics.
This interface provides a portable approach to Data Access Object (DAO) functionality across various object relational persistance solutions.
It is not envisioned that this interface will provide all data access
requirements for applications, however it should provide all of the
standard create, read, update, delete (CRUD) and finder functions that are
routinely needed. Specialized subclasses (that provide finer-grained
functionality) of the Dao interface are encouraged.
A Dao implementation (or a subclass of Dao) should
be the sole entry point into the persistance layer of an application. The
persistence layer should only respond to requests from the services layer.
The services layer is where all transaction demarcation, security
authorization, casting to and from concrete PersistableEntitys, workflow and business
logic should take place.
Each Dao implementation will support one
PersistableEntity classes only. The supported
PersistableEntity class must be indicated via the supports(Class) method.
| Method Summary | |
|---|---|
E |
create(E value)
Create a new object, with the current PersistableEntity.getInternalId() value being ignored. |
void |
delete(E value)
Delete an object. |
List<E> |
findAll()
Return all persistent instances, including subclasses. |
List<E> |
findId(Collection<Serializable> ids)
Find a List of PersistableEntitys, searched by
their identifiers. |
E |
readId(Serializable id)
Load a persistent instance by its identifier, although some properties may be lazy loaded depending on the underlying DAO implementation and/or persistence engine mapping document. |
E |
readPopulatedId(Serializable id)
Loads a persistent instance by its identifier, along with any lazy loaded properties associated with that instance. |
PaginatedList<E> |
scroll(E value,
int firstElement,
int maxElements,
String orderByAsc)
Find persistent instances with properties matching those of the passed PersistableEntity. |
PaginatedList<E> |
scrollPopulated(E value,
int firstElement,
int maxElements,
String orderByAsc)
Find persistent instances with properties matching those of the passed PersistableEntity, with a guarantee the returned results
will have each of the value class' immediate properties
initialized. |
PaginatedList<E> |
scrollPopulatedWithSubclasses(E value,
int firstElement,
int maxElements,
String orderByAsc)
Find persistent instances with properties matching those of the passed PersistableEntity, ignoring the class of the passed
PersistableEntity (useful if you pass a superclass, as you
want to find all subclass instances which match). |
PaginatedList<E> |
scrollWithSubclasses(E value,
int firstElement,
int maxElements,
String orderByAsc)
Find persistent instances with properties matching those of the passed PersistableEntity, ignoring the class of the passed
PersistableEntity (useful if you pass a superclass, as you
want to find all subclass instances which match). |
boolean |
supports(Class clazz)
Indicates whether the DAO instance provides persistence services for the specified class. |
E |
update(E value)
Update an object. |
| Method Detail |
|---|
E create(E value)
PersistableEntity.getInternalId() value being ignored.
value - (without the identity property initialized)
void delete(E value)
value - the value to deleteList<E> findAll()
List will be
returned if no matches are found)List<E> findId(Collection<Serializable> ids)
List of PersistableEntitys, searched by
their identifiers.
ids - collection of identifiers to locate
List
will be returned if no matches are found)E readId(Serializable id)
id - the identifier of the persistent instance desired to be
retrieved
null if not foundE readPopulatedId(Serializable id)
id - the identifier of the persistent instance desired to be
retrieved
null if not found
PaginatedList<E> scroll(E value,
int firstElement,
int maxElements,
String orderByAsc)
PersistableEntity.
Persistent instances are matched on the basis of query by example.
Properties whose value is null, empty
Strings, and any Collections are ignored in
the query by example evaluation.
value - parameters to filter on (the class of this object will
be added to the filter)firstElement - the first result (start at zero to obtain all
results)maxElements - the maximum number of results desired for this page
of the result setorderByAsc - the property name of the
PersistableEntity that should be used to order the
results
PaginatedList is returned if no results match)
PaginatedList<E> scrollPopulated(E value,
int firstElement,
int maxElements,
String orderByAsc)
PersistableEntity, with a guarantee the returned results
will have each of the value class' immediate properties
initialized.
Persistent instances are matched on the basis of query by example.
Properties whose value is null, empty
Strings, and any Collections are ignored in
the query by example evaluation.
value - parameters to filter on (the class of this object will
be added to the filter)firstElement - the first result (start at zero to obtain all
results)maxElements - the maximum number of results desired for this page
of the result setorderByAsc - the property name of the
PersistableEntity that should be used to order the
results
PaginatedList is returned if no results match)
PaginatedList<E> scrollWithSubclasses(E value,
int firstElement,
int maxElements,
String orderByAsc)
PersistableEntity, ignoring the class of the passed
PersistableEntity (useful if you pass a superclass, as you
want to find all subclass instances which match).
value - parameters to filter on (the class of this object will
NOT be added to the filter)firstElement - the first result (start at zero to obtain all
results)maxElements - the maximum number of results desired for this page
of the result setorderByAsc - the property name of the
PersistableEntity that should be used to order the
results
PaginatedList is returned if no results match)
PaginatedList<E> scrollPopulatedWithSubclasses(E value,
int firstElement,
int maxElements,
String orderByAsc)
PersistableEntity, ignoring the class of the passed
PersistableEntity (useful if you pass a superclass, as you
want to find all subclass instances which match). Guarantees the returned
results will have each of the DAO's supports class' immediate
properties initialized.
value - parameters to filter on (the class of this object will
NOT be added to the filter)firstElement - the first result (start at zero to obtain all
results)maxElements - the maximum number of results desired for this page
of the result setorderByAsc - the property name of the
PersistableEntity that should be used to order the
results
PaginatedList is returned if no results match)boolean supports(Class clazz)
clazz - to test, which should be an implementation of
PersistableEntity
true or false, indicating whether or
not the passed class is supported by this DAO instanceE update(E value)
value - to update, with the PersistableEntity having a
non-null identifier
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||