/** * Example license header for Java files * * http://www.andromda.org/ */ // // Attention: Generated code! Do not modify by hand! // Generated by: SpringHibernateDaoBase.vsl in andromda-spring-cartridge. // package org.andromda.test.3; /** *
* Base Spring DAO Class: is able to create, update, remove, load, and find
* objects of type org.andromda.test.3.Person.
*
transform
* flag is set to one of the constants defined in org.andromda.test.3.PersonDao, please note
* that the {@link #TRANSFORM_NONE} constant denotes no transformation, so the entity itself
* will be returned.
*
* If the integer argument value is unknown {@link #TRANSFORM_NONE} is assumed.
*
* @param transform one of the constants declared in {@link org.andromda.test.3.PersonDao}
* @param entity an entity that was found
* @return the transformed entity (i.e. new value object, etc)
* @see #transformEntities(int,java.util.Collection)
*/
protected java.lang.Object transformEntity(final int transform, final org.andromda.test.3.Person entity)
{
java.lang.Object target = null;
if (entity != null)
{
switch (transform)
{
case TRANSFORM_NONE : // fall-through
default:
target = entity;
}
}
return target;
}
/**
* Transforms a collection of entities using the
* {@link #transformEntity(int,org.andromda.test.3.Person)}
* method. This method does not instantiate a new collection.
*
* This method is to be used internally only.
*
* @param transform one of the constants declared in org.andromda.test.3.PersonDao
* @param entities the collection of entities to transform
* @see #transformEntity(int,org.andromda.test.3.Person)
*/
protected void transformEntities(final int transform, final java.util.Collection entities)
{
switch (transform)
{
case TRANSFORM_NONE : // fall-through
default:
// do nothing;
}
}
/**
* @see org.andromda.test.3.PersonDao#toEntities(java.util.Collection)
*/
public void toEntities(final java.util.Collection results)
{
if (results != null)
{
org.apache.commons.collections.CollectionUtils.transform(results, ENTITYTRANSFORMER);
}
}
/**
* This anonymous transformer is designed to transform report query results
* (which result in an array of entities) to {@link org.andromda.test.3.Person}
* using the Jakarta Commons-Collections Transformation API.
*/
private org.apache.commons.collections.Transformer ENTITYTRANSFORMER =
new org.apache.commons.collections.Transformer()
{
public java.lang.Object transform(java.lang.Object input)
{
java.lang.Object result = null;
if (input instanceof java.lang.Object[])
{
result = toEntity((java.lang.Object[])input);
}
else if (input instanceof org.andromda.test.3.Person)
{
result = input;
}
return result;
}
};
protected org.andromda.test.3.Person toEntity(java.lang.Object[] row)
{
org.andromda.test.3.Person target = null;
if (row != null)
{
final int numberOfObjects = row.length;
for (int ctr = 0; ctr < numberOfObjects; ctr++)
{
final java.lang.Object object = row[ctr];
if (object instanceof org.andromda.test.3.Person)
{
target = (org.andromda.test.3.Person)object;
break;
}
}
}
return target;
}
/**
* Gets the current principal if one has been set,
* otherwise returns null.
*
* @return the current principal
*/
protected java.security.Principal getPrincipal()
{
return org.andromda.spring.PrincipalStore.get();
}
/**
* @see org.andromda.test.3.PersonDao#search(int, int, int, org.andromda.spring.Search)
*/
public org.andromda.spring.PaginationResult search(final int transform, final int pageNumber, final int pageSize, final org.andromda.spring.Search search)
{
try
{
search.setPageNumber(pageNumber);
search.setPageSize(pageSize);
final org.andromda.spring.PropertySearch propertySearch = new org.andromda.spring.PropertySearch(
this.getSession(false), org.andromda.test.3.PersonImpl.class, search);
final java.util.List results = propertySearch.executeAsList();
this.transformEntities(transform, results);
return new org.andromda.spring.PaginationResult(results.toArray(new java.lang.Object[0]), propertySearch.getTotalCount());
}
catch (net.sf.hibernate.HibernateException ex)
{
throw super.convertHibernateAccessException(ex);
}
}
/**
* @see org.andromda.test.3.PersonDao#search(int, int, org.andromda.spring.Search)
*/
public org.andromda.spring.PaginationResult search(final int pageNumber, final int pageSize, final org.andromda.spring.Search search)
{
return this.search(TRANSFORM_NONE, pageNumber, pageSize, search);
}
/**
* @see org.andromda.test.3.PersonDao#search(int, org.andromda.spring.Search)
*/
public java.util.Set search(final int transform, final org.andromda.spring.Search search)
{
try
{
final org.andromda.spring.PropertySearch propertySearch = new org.andromda.spring.PropertySearch(
this.getSession(false), org.andromda.test.3.PersonImpl.class, search);
final java.util.Set results = propertySearch.executeAsSet();
this.transformEntities(transform, results);
return results;
}
catch (net.sf.hibernate.HibernateException ex)
{
throw super.convertHibernateAccessException(ex);
}
}
/**
* @see org.andromda.test.3.PersonDao#search(org.andromda.spring.Search)
*/
public java.util.Set search(final org.andromda.spring.Search search)
{
return this.search(TRANSFORM_NONE, search);
}
// spring-hibernate-dao-base merge-point
}