org.ow2.dragon.persistence.dao
Interface GenericORMDAO<T,PK extends java.io.Serializable>

Type Parameters:
T - a type variable
PK - the primary key for that type
All Known Subinterfaces:
AgreementDAO, BindingDAO, BindingOperationDAO, BusinessValueDAO, CompensationAssessmentDAO, CompensationDAO, EndpointDAO, GuaranteeDAO, ItemDAO, ManagedAgreementDAO, MessageSpecificationDAO, MetricDAO, OrganizationUnitDAO, PartyDAO, PersonDAO, PostDAO, ProposedOperationDAO, ProtocolDAO, RoleOfPartyDAO, ServiceDAO, ServiceDefinitionLanguageFileDAO, ServiceDescriptionTermDAO, ServiceInterfaceDAO, ServiceLevelObjectiveDAO, ServicePropertiesDAO, ServiceReferenceDAO, ServiceSelectorDAO, ServiceSelectorItemDAO, ServiceSpecificationDAO, SimpleFileDAO, SpecifiedOperationDAO, TechnicalServiceDAO
All Known Implementing Classes:
AgreementDAOImpl, BindingDAOImpl, BindingOperationDAOImpl, BusinessValueDAOImpl, CompensationAssessmentDAOImpl, CompensationDAOImpl, EndpointDAOImpl, GenericHibernateDAOImpl, GuaranteeDAOImpl, ItemDAOImpl, ManagedAgreementDAOImpl, MessageSpecificationDAOImpl, MetricDAOImpl, OrganizationUnitDAOImpl, PartyDAOImpl, PersonDAOImpl, PostDAOImpl, ProposedOperationDAOImpl, ProtocolDAOImpl, RoleOfPartyDAOImpl, ServiceDAOImpl, ServiceDefinitionLanguageFileDAOImpl, ServiceDescriptionTermDAOImpl, ServiceInterfaceDAOImpl, ServiceLevelObjectiveDAOImpl, ServicePropertiesDAOImpl, ServiceReferenceDAOImpl, ServiceSelectorDAOImpl, ServiceSelectorItemDAOImpl, ServiceSpecificationDAOImpl, SimpleFileDAOImpl, SpecifiedOperationDAOImpl, TechnicalServiceDAOImpl

public interface GenericORMDAO<T,PK extends java.io.Serializable>

Generic DAO (Data Access Object) with common methods to CRUD POJOs.

Extend this interface if you want typesafe (no casting necessary) DAO's for your domain objects.

Author:
Bryan Noll, ofabre - eBM WebSourcing

Method Summary
 boolean exists(PK id)
          Checks for existence of an object of type T using the id arg.
 java.util.List<T> findByNamedQuery(java.lang.String queryName, java.util.Map<java.lang.String,java.lang.Object> queryParams)
          Find a list of records by using a named query
 T get(PK id)
          Generic method to get an object based on class and identifier.
 java.util.List<T> getAll()
          Generic method used to get all objects of a particular type.
 java.util.List<T> getAll(java.util.List<PK> ids)
          Retrieve a List of entities matching given ids
 java.util.List<T> getAll(java.util.List<PK> ids, RequestOptions requestOptions)
          Retrieve a List of entities matching given ids, sorted and paginated according to the given request options
 java.util.List<T> getAll(RequestOptions requestOptionsTO)
          Generic method used to get all objects of a particular type, sorted and paginated according to the given request options.
 java.util.List<T> getAllDistinct()
          Gets all records without duplicates.
 java.lang.Class<T> getManipulatedType()
          Return the type of entity manipulated by this DAO
 void remove(PK id)
          Generic method to delete an object based on class and id
 T save(T object)
          Generic method to save an object - handles both update and insert.
 java.util.List<T> searchEquals(java.lang.String[] criteria, java.lang.String[] properties, RequestOptions requestOptionsTO)
          This method allows to search Objects on String properties, fitting search criteria.
 java.util.List<T> searchLike(java.lang.String[] criteria, java.lang.String[] properties, RequestOptions requestOptionsTO)
          This method allows to search Objects on String properties, fitting search criteria.
 

Method Detail

getAll

java.util.List<T> getAll(RequestOptions requestOptionsTO)
Generic method used to get all objects of a particular type, sorted and paginated according to the given request options. This is the same as lookup up all rows in a table.

Parameters:
requestOptionsTO - include sort order and pagination information
Returns:
List of populated objects

getAll

java.util.List<T> getAll()
Generic method used to get all objects of a particular type. This is the same as lookup up all rows in a table.

Returns:
List of populated objects

get

T get(PK id)
Generic method to get an object based on class and identifier. An ObjectRetrievalFailureException Runtime Exception is thrown if nothing is found.

Parameters:
id - the identifier (primary key) of the object to get
Returns:
a populated object
See Also:
ObjectRetrievalFailureException

exists

boolean exists(PK id)
Checks for existence of an object of type T using the id arg.

Parameters:
id - the id of the entity
Returns:
- true if it exists, false if it doesn't

save

T save(T object)
Generic method to save an object - handles both update and insert.

Parameters:
object - the object to save
Returns:
the persisted object

remove

void remove(PK id)
Generic method to delete an object based on class and id

Parameters:
id - the identifier (primary key) of the object to remove

getAllDistinct

java.util.List<T> getAllDistinct()
Gets all records without duplicates.

Note that if you use this method, it is imperative that your model classes correctly implement the hashcode/equals methods

Returns:
List of populated objects

findByNamedQuery

java.util.List<T> findByNamedQuery(java.lang.String queryName,
                                   java.util.Map<java.lang.String,java.lang.Object> queryParams)
Find a list of records by using a named query

Parameters:
queryName - query name of the named query
queryParams - a map of the query names and the values
Returns:
a list of the records found

searchLike

java.util.List<T> searchLike(java.lang.String[] criteria,
                             java.lang.String[] properties,
                             RequestOptions requestOptionsTO)
This method allows to search Objects on String properties, fitting search criteria. Properties can be direct object fields or fields of included objects (in this case, fields must be referenced by the doted notation like "foo.bar"). Use a like statement for each criteria on each property. Results are sorted and paginated in respect of the given request options.
Limitations: this method can have some troubles if two or more doted properties contains the same field like "aaa.bbb" and "ccc.ddd. bbb"

Parameters:
criteria - the search criteria
properties - the searched properties
requestOptionsTO - include sort order and pagination information
Returns:
a list of object matching the different criteria sorted and paginated

searchEquals

java.util.List<T> searchEquals(java.lang.String[] criteria,
                               java.lang.String[] properties,
                               RequestOptions requestOptionsTO)
This method allows to search Objects on String properties, fitting search criteria. Properties can be direct object fields or fields of included objects (in this case, fields must be referenced by the doted notation like "foo.bar"). Use a equality statement for each criteria on each property. Results are sorted and paginated in respect of the given request options.

Parameters:
criteria - the search criteria
properties - the searched properties
requestOptionsTO - include sort order and pagination information
Returns:
a list of object matching the different criteria sorted and paginated

getManipulatedType

java.lang.Class<T> getManipulatedType()
Return the type of entity manipulated by this DAO

Returns:
the Class of the manipulated entity

getAll

java.util.List<T> getAll(java.util.List<PK> ids)
Retrieve a List of entities matching given ids

Parameters:
ids - a List of ids
Returns:
a List of entities matching ids, must be non null, could be empty

getAll

java.util.List<T> getAll(java.util.List<PK> ids,
                         RequestOptions requestOptions)
Retrieve a List of entities matching given ids, sorted and paginated according to the given request options

Parameters:
ids - a List of ids
requestOptions - include sort order and pagination information
Returns:
a sorted/paginated List of entities matching ids, must be non null, could be empty


Copyright © 2008 eBMWebsourcing. All Rights Reserved.