uk.nominet.catnap.dao
Class CatnapSession

java.lang.Object
  extended byuk.nominet.catnap.dao.CatnapSession

public class CatnapSession
extends java.lang.Object

Base dao for all catnap Data Access Objects.


Constructor Summary
CatnapSession()
           
 
Method Summary
 void deleteEntity(java.lang.String entityName, java.lang.Object entity)
          Deletes the entity and any related entity with the cascade flag set.
 void deleteEntity(java.lang.String entityName, java.lang.Object entity, java.util.Map sessionParameters)
          Delete entity which additionally takes a map of session parameters which will be passed to any defined interceptors.
 java.lang.Object executeFinder(java.lang.String entityName, java.lang.Object[] params)
          Main execute finder, using the default finder (defined in the catnap.xml for the particular entity)
 java.lang.Object executeFinder(java.lang.String entityName, java.lang.Object[] params, java.util.Map sessionParameters)
          Execute finder method, using the default finder, where a map of session parameters needs to be passed in.
 java.util.List executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params)
          Main execute finderName method.
 java.util.List executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params, int maxResults)
          Overloaded execute finder, provided for searches where a maximum result count is required to be returned.
 PageableList executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params, int offset, int maxResults, boolean returnFullCount)
          Execute finder which returns a pageable list.
 java.util.List executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params, java.util.Map sessionParameters)
          Overloaded execute finder, provided for searches where a map of session parameters needs to be passed in.
 java.util.List executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params, java.util.Map sessionParameters, int maxResults)
          Execute finder method which additionally passes a max results parameter for restricting results returned.
 PageableList executeFinder(java.lang.String entityName, java.lang.String finderName, java.lang.Object[] params, java.util.Map sessionParameters, int offset, int maxResults, boolean returnFullCount)
          Execute finder method which accepts all possible parameters and returns a pageable list object.
 Schema getSchema()
           
 void saveEntity(java.lang.String entityName, java.lang.Object entity)
          Main save entity method.
 void saveEntity(java.lang.String entityName, java.lang.Object entity, java.util.Map sessionParameters)
          Save entity which also accepts a map of session parameters which will be passed to any defined interceptors Useful if other dynamic data is required within the interceptor logic.
 void saveListOfEntities(java.lang.String entityName, java.util.List entityList)
          Save a list of entities along with all related entities.
 void saveListOfEntities(java.lang.String entityName, java.util.List entityList, java.util.Map sessionParameters)
          Save a list of entities, passing an additional map of session parameters which will be passed to any defined CatnapInterceptors.
 void setCatnapInterceptors(java.util.Map catnapInterceptors)
          Set the interceptors in use by catnap.
 void setDataSource(javax.sql.DataSource dataSource)
          Spring method for setting the data source.
 void setSchemaClasspath(java.lang.String classPath)
           
 void setSchemaFilePath(java.lang.String schemaFilePath)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CatnapSession

public CatnapSession()
Method Detail

setDataSource

public void setDataSource(javax.sql.DataSource dataSource)
Spring method for setting the data source.

Parameters:
dataSource -

setSchemaClasspath

public void setSchemaClasspath(java.lang.String classPath)

setSchemaFilePath

public void setSchemaFilePath(java.lang.String schemaFilePath)

setCatnapInterceptors

public void setCatnapInterceptors(java.util.Map catnapInterceptors)
Set the interceptors in use by catnap.

Parameters:
catnapInterceptors -

executeFinder

public java.lang.Object executeFinder(java.lang.String entityName,
                                      java.lang.Object[] params)
Main execute finder, using the default finder (defined in the catnap.xml for the particular entity)

Parameters:
entityName -
params -
Returns:

executeFinder

public java.lang.Object executeFinder(java.lang.String entityName,
                                      java.lang.Object[] params,
                                      java.util.Map sessionParameters)
Execute finder method, using the default finder, where a map of session parameters needs to be passed in. This map will be passed to all registered interceptors This is useful if other dynamic data is required within the interceptor logic.

Parameters:
entityName -
params -
sessionParameters -
Returns:

executeFinder

public java.util.List executeFinder(java.lang.String entityName,
                                    java.lang.String finderName,
                                    java.lang.Object[] params)
Main execute finderName method. Executes the passed procedure and uses the catnap entity tree to construct the returned entity and associated dependent objects.

Parameters:
params -
Returns:

executeFinder

public java.util.List executeFinder(java.lang.String entityName,
                                    java.lang.String finderName,
                                    java.lang.Object[] params,
                                    int maxResults)
Overloaded execute finder, provided for searches where a maximum result count is required to be returned.

Parameters:
entityName -
finderName -
params -
maxResults -
Returns:

executeFinder

public PageableList executeFinder(java.lang.String entityName,
                                  java.lang.String finderName,
                                  java.lang.Object[] params,
                                  int offset,
                                  int maxResults,
                                  boolean returnFullCount)
Execute finder which returns a pageable list. This is a restricted result list constrained to start at the offset and return up to the maxResults number of items. Suitable for implementation of paging such as google type searches..

Parameters:
entityName - - The name of the entity
finderName - - The finder to execute
params - - The parameter list
offset - - The offset index of the first item to return for the page
maxResults - - The maximum number of results to return
returnFullCount - - An indicator as to whether or not the full count is returned Within the page list. This can be turned off for performance Benefits if not required.
Returns:

executeFinder

public java.util.List executeFinder(java.lang.String entityName,
                                    java.lang.String finderName,
                                    java.lang.Object[] params,
                                    java.util.Map sessionParameters)
Overloaded execute finder, provided for searches where a map of session parameters needs to be passed in. This map will be passed to all registered interceptors This is useful if other dynamic data is required within the interceptor logic.

Parameters:
entityName -
finderName -
params -
sessionParameters -
Returns:

executeFinder

public java.util.List executeFinder(java.lang.String entityName,
                                    java.lang.String finderName,
                                    java.lang.Object[] params,
                                    java.util.Map sessionParameters,
                                    int maxResults)
Execute finder method which additionally passes a max results parameter for restricting results returned. passing -1 means don't restrict. A session parameters map can also be passed for passing other dynamic values through to interceptors.

Parameters:
entityName -
finderName -
params -
sessionParameters -
maxResults -
Returns:

executeFinder

public PageableList executeFinder(java.lang.String entityName,
                                  java.lang.String finderName,
                                  java.lang.Object[] params,
                                  java.util.Map sessionParameters,
                                  int offset,
                                  int maxResults,
                                  boolean returnFullCount)
Execute finder method which accepts all possible parameters and returns a pageable list object.

Parameters:
entityName -
finderName -
params -
sessionParameters -
offset -
maxResults -
returnFullCount -
Returns:

saveEntity

public void saveEntity(java.lang.String entityName,
                       java.lang.Object entity)
Main save entity method. Saves the entity and all related entities using the create/update method defined, depending on the presence of the primary key fields within the entity.

Parameters:
entityName -
entity -

saveEntity

public void saveEntity(java.lang.String entityName,
                       java.lang.Object entity,
                       java.util.Map sessionParameters)
Save entity which also accepts a map of session parameters which will be passed to any defined interceptors Useful if other dynamic data is required within the interceptor logic.

Parameters:
entityName -
entity -

saveListOfEntities

public void saveListOfEntities(java.lang.String entityName,
                               java.util.List entityList)
Save a list of entities along with all related entities. The entity name must be supplied and this is essentially a wrapper to save each each entity in a transaction.

Parameters:
entityName -
entityList -

saveListOfEntities

public void saveListOfEntities(java.lang.String entityName,
                               java.util.List entityList,
                               java.util.Map sessionParameters)
Save a list of entities, passing an additional map of session parameters which will be passed to any defined CatnapInterceptors. This is useful if extra dynamic data is required by the interceptor logic.

Parameters:
entityName -
entityList -
sessionParameters -

deleteEntity

public void deleteEntity(java.lang.String entityName,
                         java.lang.Object entity)
Deletes the entity and any related entity with the cascade flag set.

Parameters:
entityName -
entity -

deleteEntity

public void deleteEntity(java.lang.String entityName,
                         java.lang.Object entity,
                         java.util.Map sessionParameters)
Delete entity which additionally takes a map of session parameters which will be passed to any defined interceptors. This is useful if extra dynamic data is required by the interceptor logic.

Parameters:
entityName -
entity -

getSchema

public Schema getSchema()