/**
* 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.
*
*
* @see org.andromda.test.3.Person
*/
public abstract class PersonDaoBase
extends org.springframework.orm.hibernate.support.HibernateDaoSupport
implements org.andromda.test.3.PersonDao
{
/**
* @see org.andromda.test.3.PersonDao#load(int, java.lang.Long)
*/
public java.lang.Object load(final int transform, final java.lang.Long id)
{
if (id == null)
{
throw new IllegalArgumentException(
"Person.load - 'id' can not be null");
}
final java.lang.Object entity = this.getHibernateTemplate().get(org.andromda.test.3.PersonImpl.class, id);
return transformEntity(transform, (org.andromda.test.3.Person)entity);
}
/**
* @see org.andromda.test.3.PersonDao#load(java.lang.Long)
*/
public org.andromda.test.3.Person load(java.lang.Long id)
{
return (org.andromda.test.3.Person)this.load(TRANSFORM_NONE, id);
}
/**
* @see org.andromda.test.3.PersonDao#loadAll()
*/
public java.util.Collection loadAll()
{
return this.loadAll(TRANSFORM_NONE);
}
/**
* @see org.andromda.test.3.PersonDao#loadAll(int)
*/
public java.util.Collection loadAll(final int transform)
{
final java.util.Collection results = this.getHibernateTemplate().loadAll(org.andromda.test.3.PersonImpl.class);
this.transformEntities(transform, results);
return results;
}
/**
* @see org.andromda.test.3.PersonDao#create(org.andromda.test.3.Person)
*/
public org.andromda.test.3.Person create(org.andromda.test.3.Person person)
{
return (org.andromda.test.3.Person)this.create(TRANSFORM_NONE, person);
}
/**
* @see org.andromda.test.3.PersonDao#create(int transform, org.andromda.test.3.Person)
*/
public java.lang.Object create(final int transform, final org.andromda.test.3.Person person)
{
if (person == null)
{
throw new IllegalArgumentException(
"Person.create - 'person' can not be null");
}
this.getHibernateTemplate().save(person);
return this.transformEntity(transform, person);
}
/**
* @see org.andromda.test.3.PersonDao#create(java.util.Collection)
*/
public java.util.Collection create(final java.util.Collection entities)
{
return create(TRANSFORM_NONE, entities);
}
/**
* @see org.andromda.test.3.PersonDao#create(int, java.util.Collection)
*/
public java.util.Collection create(final int transform, final java.util.Collection entities)
{
if (entities == null)
{
throw new IllegalArgumentException(
"Person.create - 'entities' can not be null");
}
this.getHibernateTemplate().execute(
new org.springframework.orm.hibernate.HibernateCallback()
{
public java.lang.Object doInHibernate(net.sf.hibernate.Session session)
throws net.sf.hibernate.HibernateException
{
for (java.util.Iterator entityIterator = entities.iterator(); entityIterator.hasNext();)
{
create(transform, (org.andromda.test.3.Person)entityIterator.next());
}
return null;
}
},
true);
return entities;
}
/**
* @see org.andromda.test.3.PersonDao#create(java.lang.String, java.util.Date)
*/
public org.andromda.test.3.Person create(
java.lang.String name,
java.util.Date birthDate)
{
return (org.andromda.test.3.Person)this.create(TRANSFORM_NONE, name, birthDate);
}
/**
* @see org.andromda.test.3.PersonDao#create(int, java.lang.String, java.util.Date)
*/
public java.lang.Object create(
final int transform,
java.lang.String name,
java.util.Date birthDate)
{
org.andromda.test.3.Person entity = new org.andromda.test.3.PersonImpl();
entity.setName(name);
entity.setBirthDate(birthDate);
return this.create(transform, entity);
}
/**
* @see org.andromda.test.3.PersonDao#update(org.andromda.test.3.Person)
*/
public void update(org.andromda.test.3.Person person)
{
if (person == null)
{
throw new IllegalArgumentException(
"Person.update - 'person' can not be null");
}
this.getHibernateTemplate().update(person);
}
/**
* @see org.andromda.test.3.PersonDao#update(java.util.Collection)
*/
public void update(final java.util.Collection entities)
{
if (entities == null)
{
throw new IllegalArgumentException(
"Person.update - 'entities' can not be null");
}
this.getHibernateTemplate().execute(
new org.springframework.orm.hibernate.HibernateCallback()
{
public java.lang.Object doInHibernate(net.sf.hibernate.Session session)
throws net.sf.hibernate.HibernateException
{
for (java.util.Iterator entityIterator = entities.iterator(); entityIterator.hasNext();)
{
update((org.andromda.test.3.Person)entityIterator.next());
}
return null;
}
},
true);
}
/**
* @see org.andromda.test.3.PersonDao#remove(org.andromda.test.3.Person)
*/
public void remove(org.andromda.test.3.Person person)
{
if (person == null)
{
throw new IllegalArgumentException(
"Person.remove - 'person' can not be null");
}
this.getHibernateTemplate().delete(person);
}
/**
* @see org.andromda.test.3.PersonDao#remove(java.lang.Long)
*/
public void remove(java.lang.Long id)
{
if (id == null)
{
throw new IllegalArgumentException(
"Person.remove - 'id' can not be null");
}
org.andromda.test.3.Person entity = this.load(id);
if (entity != null)
{
this.remove(entity);
}
}
/**
* @see org.andromda.test.3.PersonDao#remove(java.util.Collection)
*/
public void remove(java.util.Collection entities)
{
if (entities == null)
{
throw new IllegalArgumentException(
"Person.remove - 'entities' can not be null");
}
this.getHibernateTemplate().deleteAll(entities);
}
/**
* Allows transformation of entities into value objects
* (or something else for that matter), when the 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;
}
}
}