CarAccessoryTypeDaoBase.java
- // license-header java merge-point
- //
- // Attention: Generated code! Do not modify by hand! hibernate4=true hibernateVersion=4.3.6.Final
- // Generated by hibernate/SpringHibernateDaoBase.vsl in andromda-spring-cartridge on 08/18/2014 15:29:43-0400. Do not modify by hand!.
- //
- package org.andromda.samples.carrental.inventory;
- import java.security.Principal;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
- import javax.annotation.Resource;
- import org.andromda.samples.carrental.PrincipalStore;
- import org.andromda.samples.carrental.PropertySearch;
- import org.andromda.samples.carrental.Search;
- import org.andromda.spring.PaginationResult;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.collections.Transformer;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.hibernate.Criteria;
- import org.hibernate.Query;
- import org.hibernate.ScrollableResults;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.springframework.stereotype.Repository;
- /**
- * <p>
- * Base Spring DAO Class: is able to create, update, remove, load, and find
- * objects of type <code>CarAccessoryType</code>.
- * </p>
- *
- * @see CarAccessoryType
- */
- @Repository
- public abstract class CarAccessoryTypeDaoBase
- implements CarAccessoryTypeDao
- {
- /**
- * For backwards compatibility with HibernateDao method
- * @deprecated Use LogFactory.getLog on each subclass, for the correct class name
- * Apache commons logging logger used by all subclasses
- */
- @Deprecated
- protected Log logger = LogFactory.getLog(CarAccessoryTypeDaoBase.class);
- @Resource
- private SessionFactory sessionFactory;
- /**
- * @param sessionFactoryIn
- */
- public void setSessionFactory(SessionFactory sessionFactoryIn) {
- this.sessionFactory = sessionFactoryIn;
- }
- /**
- * @return SessionFactory
- */
- protected SessionFactory getSessionFactory() {
- return this.sessionFactory;
- }
- /**
- * @return currentSession
- */
- protected Session getSession() {
- return this.sessionFactory.getCurrentSession();
- }
- /**
- * For backwards compatibility with HibernateDao method
- * @deprecated Use this.sessionFactory.getCurrentSession() instead
- * @param ignore boolean - always create new session if needed
- * @return currentSession
- */
- @Deprecated
- protected Session getSession(boolean ignore) {
- return this.getSession();
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Object get(final int transform, final Long id)
- {
- if (id == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.get - 'id' can not be null");
- }
- final Object entity = this.sessionFactory.getCurrentSession().get(CarAccessoryTypeImpl.class, id);
- return transformEntity(transform, (CarAccessoryType)entity);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public CarAccessoryType get(Long id)
- {
- return (CarAccessoryType)this.get(TRANSFORM_NONE, id);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Object load(final int transform, final Long id)
- {
- if (id == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.load - 'id' can not be null");
- }
- final Object entity = this.sessionFactory.getCurrentSession().get(CarAccessoryTypeImpl.class, id);
- return transformEntity(transform, (CarAccessoryType)entity);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public CarAccessoryType load(Long id)
- {
- return (CarAccessoryType)this.load(TRANSFORM_NONE, id);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- @SuppressWarnings({"unchecked"})
- public Collection<CarAccessoryType> loadAll()
- {
- return (Collection<CarAccessoryType>) this.loadAll(CarAccessoryTypeDao.TRANSFORM_NONE);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<?> loadAll(final int transform)
- {
- return this.loadAll(transform, -1, -1);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<?> loadAll(final int pageNumber, final int pageSize)
- {
- return this.loadAll(CarAccessoryTypeDao.TRANSFORM_NONE, pageNumber, pageSize);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<?> loadAll(final int transform, final int pageNumber, final int pageSize)
- {
- final Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(CarAccessoryTypeImpl.class);
- if (pageNumber > 0 && pageSize > 0)
- {
- criteria.setFirstResult(this.calculateFirstResult(pageNumber, pageSize));
- criteria.setMaxResults(pageSize);
- }
- final Collection<?> results = criteria.list();
- this.transformEntities(transform, results);
- return results;
- }
- /**
- * firstResult = (pageNumber - 1) * pageSize
- * @param pageNumber
- * @param pageSize
- * @return firstResult
- */
- protected int calculateFirstResult(int pageNumber, int pageSize)
- {
- int firstResult = 0;
- if (pageNumber > 0)
- {
- firstResult = (pageNumber - 1) * pageSize;
- }
- return firstResult;
- }
- /**
- * prePersist event - This method is called before creating the entity
- */
- protected void _prePersist(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * postPersist event - This method is called after creating the entity
- */
- protected void _postPersist(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * preUpdate event - This method is called before updating the entity
- */
- protected void _preUpdate(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * postUpdate event - This method is called after updating the entity
- */
- protected void _postUpdate(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * preRemove event - This method is called before deleting the entity
- */
- protected void _preRemove(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * postRemove event - This method is called after deleting the entity
- */
- protected void _postRemove(final CarAccessoryType carAccessoryType)
- {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CarAccessoryType create(CarAccessoryType carAccessoryType)
- {
- return (CarAccessoryType)this.create(CarAccessoryTypeDao.TRANSFORM_NONE, carAccessoryType);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Object create(final int transform, final CarAccessoryType carAccessoryType)
- {
- if (carAccessoryType == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.create - 'carAccessoryType' can not be null");
- }
- //prePersist event
- _prePersist(carAccessoryType);
- this.sessionFactory.getCurrentSession().save(carAccessoryType);
- //postPersist event
- _postPersist(carAccessoryType);
- return this.transformEntity(transform, carAccessoryType);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- @SuppressWarnings({"unchecked"})
- public Collection<CarAccessoryType> create(final Collection<CarAccessoryType> entities)
- {
- return (Collection<CarAccessoryType>) create(CarAccessoryTypeDao.TRANSFORM_NONE, entities);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<?> create(final int transform, final Collection<CarAccessoryType> entities)
- {
- if (entities == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.create - 'entities' can not be null");
- }
- Collection<Object> transformed = new ArrayList<Object>();
- for (CarAccessoryType entity : entities)
- {
- transformed.add(create(transform, entity));
- }
- return transformed;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public CarAccessoryType create(
- String manufacter,
- String identifier,
- String orderNo)
- {
- return (CarAccessoryType)this.create(CarAccessoryTypeDao.TRANSFORM_NONE, manufacter, identifier, orderNo);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Object create(
- final int transform,
- String manufacter,
- String identifier,
- String orderNo)
- {
- CarAccessoryType entity = new CarAccessoryTypeImpl();
- entity.setManufacter(manufacter);
- entity.setIdentifier(identifier);
- entity.setOrderNo(orderNo);
- return this.create(transform, entity);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void update(CarAccessoryType carAccessoryType)
- {
- if (carAccessoryType == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.update - 'carAccessoryType' can not be null");
- }
-
- //preUpdate event
- _preUpdate(carAccessoryType);
- this.sessionFactory.getCurrentSession().update(carAccessoryType);
- //postUpdate event
- _postUpdate(carAccessoryType);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void update(final Collection<CarAccessoryType> entities)
- {
- if (entities == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.update - 'entities' can not be null");
- }
- for (CarAccessoryType entity : entities)
- {
- update(entity);
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void remove(CarAccessoryType carAccessoryType)
- {
- if (carAccessoryType == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.remove - 'carAccessoryType' can not be null");
- }
- //preRemove event
- _preRemove(carAccessoryType);
-
- this.sessionFactory.getCurrentSession().delete(carAccessoryType);
- //postRemove event
- _postRemove(carAccessoryType);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void remove(Long id)
- {
- if (id == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.remove - 'id' can not be null");
- }
- CarAccessoryType entity = this.get(id);
- if (entity != null)
- {
- this.remove(entity);
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void remove(Collection<CarAccessoryType> entities)
- {
- if (entities == null)
- {
- throw new IllegalArgumentException(
- "CarAccessoryType.remove - 'entities' can not be null");
- }
- for (CarAccessoryType entity : entities)
- {
- //preRemove event
- _preRemove(entity);
- this.sessionFactory.getCurrentSession().delete(entity);
- //postRemove event
- _postRemove(entity);
- }
- }
- /**
- * Allows transformation of entities into value objects
- * (or something else for that matter), when the <code>transform</code>
- * flag is set to one of the constants defined in <code>CarAccessoryTypeDao</code>, 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 CarAccessoryTypeDao}
- * @param entity an entity that was found
- * @return the transformed entity (i.e. new value object, etc)
- * @see CarAccessoryTypeDao#transformEntity(int, CarAccessoryType)
- */
- @Override
- public Object transformEntity(final int transform, final CarAccessoryType entity)
- {
- Object target = null;
- if (entity != null)
- {
- switch (transform)
- {
- case CarAccessoryTypeDao.TRANSFORM_NONE : // fall-through
- default:
- target = entity;
- }
- }
- return target;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void transformEntities(final int transform, final Collection<?> entities)
- {
- switch (transform)
- {
- case CarAccessoryTypeDao.TRANSFORM_NONE : // fall-through
- default:
- // do nothing;
- }
- }
- /**
- * @see CarAccessoryTypeDao#toEntities(Collection)
- */
- @Override
- public void toEntities(final Collection<?> results)
- {
- if (results != null)
- {
- CollectionUtils.transform(results, this.ENTITYTRANSFORMER);
- }
- }
- /**
- * This anonymous transformer is designed to transform report query results
- * (which result in an array of entities) to {@link CarAccessoryType}
- * using the Jakarta Commons-Collections Transformation API.
- */
- private Transformer ENTITYTRANSFORMER =
- new Transformer()
- {
- @Override
- public Object transform(Object input)
- {
- Object result = null;
- if (input instanceof Object[])
- {
- final Object[] rows = (Object[])input;
- result = toEntity(rows);
- }
- else if (input instanceof CarAccessoryType)
- {
- result = input;
- }
- return result;
- }
- };
- /**
- * @param row
- * @return CarAccessoryType
- */
- protected CarAccessoryType toEntity(Object[] row)
- {
- CarAccessoryType target = null;
- if (row != null)
- {
- final int numberOfObjects = row.length;
- for (int ctr = 0; ctr < numberOfObjects; ctr++)
- {
- final Object object = row[ctr];
- if (object instanceof CarAccessoryType)
- {
- target = (CarAccessoryType)object;
- break;
- }
- }
- }
- return target;
- }
- /**
- * Gets the current <code>principal</code> if one has been set,
- * otherwise returns <code>null</code>.
- *
- * @return the current principal
- */
- protected Principal getPrincipal()
- {
- return PrincipalStore.get();
- }
- /**
- * {@inheritDoc}
- */
- @Override
- @SuppressWarnings({ "unchecked" })
- public PaginationResult search(final int transform, final int pageNumber, final int pageSize, final Search search)
- {
- search.setPageNumber(pageNumber);
- search.setPageSize(pageSize);
- final PropertySearch propertySearch = new PropertySearch(
- this.sessionFactory.getCurrentSession(), CarAccessoryTypeImpl.class, search);
- final List results = propertySearch.executeAsList();
- this.transformEntities(transform, results);
- return new PaginationResult(results.toArray(new Object[results.size()]), propertySearch.getTotalCount());
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public PaginationResult search(final int pageNumber, final int pageSize, final Search search)
- {
- return this.search(CarAccessoryTypeDao.TRANSFORM_NONE, pageNumber, pageSize, search);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<?> search(final int transform, final Search search)
- {
- final PropertySearch propertySearch = new PropertySearch(
- this.sessionFactory.getCurrentSession(), CarAccessoryTypeImpl.class, search);
- final Collection<?> results = propertySearch.executeAsList();
- this.transformEntities(transform, results);
- return results;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- @SuppressWarnings("unchecked")
- public Collection<CarAccessoryType> search(final Search search)
- {
- return (Collection<CarAccessoryType>) this.search(CarAccessoryTypeDao.TRANSFORM_NONE, search);
- }
- /**
- * Executes and returns the given Hibernate queryObject as a {@link PaginationResult} instance.
- * @param queryObject
- * @param transform
- * @param pageNumber
- * @param pageSize
- * @return PaginationResult
- */
- @SuppressWarnings({ "unchecked" })
- protected PaginationResult getPaginationResult(
- final Query queryObject,
- final int transform, int pageNumber, int pageSize)
- {
- final ScrollableResults scrollableResults = queryObject.scroll();
- scrollableResults.last();
- int totalCount = scrollableResults.getRowNumber();
- totalCount = totalCount >= 0 ? totalCount + 1 : 0;
- if (pageNumber > 0 && pageSize > 0)
- {
- queryObject.setFirstResult(this.calculateFirstResult(pageNumber, pageSize));
- queryObject.setMaxResults(pageSize);
- }
- // Unchecked transformation because Set object is reused, cannot be strongly typed.
- @SuppressWarnings("rawtypes")
- Collection results = new ArrayList(queryObject.list());
- transformEntities(transform, results);
- return new PaginationResult(results.toArray(new Object[results.size()]), totalCount);
- }
- /**
- * Create or Update the <code>carAccessoryType</code> instance in the persistent store.
- * @param carAccessoryType
- */
- @Override
- public CarAccessoryType createOrUpdate(CarAccessoryType carAccessoryType)
- {
- if(carAccessoryType.getId() == null)
- {
- return (CarAccessoryType)this.create(TRANSFORM_NONE,carAccessoryType);
- }
- else
- {
- this.update(carAccessoryType);
- return carAccessoryType;
- }
- }
-
- // spring-hibernate-dao-base merge-point
- }