br.com.arsmachina.controller.impl
Class SpringControllerImpl<T,K extends Serializable>

java.lang.Object
  extended by br.com.arsmachina.controller.impl.ControllerImpl<T,K>
      extended by br.com.arsmachina.controller.impl.SpringControllerImpl<T,K>
Type Parameters:
T - the entity class related to this controller.
K - the type of the field that represents the entity class' primary key.
All Implemented Interfaces:
br.com.arsmachina.controller.Controller<T,K>, br.com.arsmachina.controller.ReadableController<T,K>, br.com.arsmachina.controller.WriteableController<T,K>

public abstract class SpringControllerImpl<T,K extends Serializable>
extends br.com.arsmachina.controller.impl.ControllerImpl<T,K>

Abstract class that extends ControllerImpl to annotate with Transactional all methods that can write to the object store and Transactional(readOnly=true) all methods that read from the object store.

Author:
Thiago H. de Paula Figueiredo

Constructor Summary
SpringControllerImpl(br.com.arsmachina.dao.DAO<T,K> dao)
          Single constructor of this class.
 
Method Summary
 int countAll()
           
 void delete(K id)
           
 void delete(T object)
           
 List<T> findAll()
           
 List<T> findAll(int firstResult, int maxResults, br.com.arsmachina.dao.SortCriterion... sortCriteria)
           
 T findById(K id)
           
 List<T> findByIds(K... ids)
           
 void refresh(T object)
           
 void save(T object)
           
 T saveOrUpdate(T object)
           
 T update(T object)
           
 
Methods inherited from class br.com.arsmachina.controller.impl.ControllerImpl
evict, findByExample, isPersistent, reattach
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpringControllerImpl

public SpringControllerImpl(br.com.arsmachina.dao.DAO<T,K> dao)
Single constructor of this class.

Parameters:
dao - a DAO. It cannot be null.
Method Detail

delete

@Transactional
public void delete(K id)
Specified by:
delete in interface br.com.arsmachina.controller.WriteableController<T,K extends Serializable>
Overrides:
delete in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.GenericControllerImpl#delete(java.io.Serializable)

delete

@Transactional
public void delete(T object)
Specified by:
delete in interface br.com.arsmachina.controller.WriteableController<T,K extends Serializable>
Overrides:
delete in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.GenericControllerImpl#delete(java.lang.Object)

save

@Transactional
public void save(T object)
Specified by:
save in interface br.com.arsmachina.controller.WriteableController<T,K extends Serializable>
Overrides:
save in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.GenericControllerImpl#save(java.lang.Object)

saveOrUpdate

@Transactional
public T saveOrUpdate(T object)
Specified by:
saveOrUpdate in interface br.com.arsmachina.controller.WriteableController<T,K extends Serializable>
Overrides:
saveOrUpdate in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.GenericControllerImpl#saveOrUpdate(java.lang.Object)

update

@Transactional
public T update(T object)
Specified by:
update in interface br.com.arsmachina.controller.WriteableController<T,K extends Serializable>
Overrides:
update in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.GenericControllerImpl#update(java.lang.Object)

countAll

@Transactional(readOnly=true)
public int countAll()
Specified by:
countAll in interface br.com.arsmachina.controller.ReadableController<T,K extends Serializable>
Overrides:
countAll in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
ControllerImpl.countAll()

findAll

@Transactional(readOnly=true)
public List<T> findAll()
Specified by:
findAll in interface br.com.arsmachina.controller.ReadableController<T,K extends Serializable>
Overrides:
findAll in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
ControllerImpl.findAll()

findAll

@Transactional(readOnly=true)
public List<T> findAll(int firstResult,
                                     int maxResults,
                                     br.com.arsmachina.dao.SortCriterion... sortCriteria)
Specified by:
findAll in interface br.com.arsmachina.controller.ReadableController<T,K extends Serializable>
Overrides:
findAll in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
ControllerImpl.findAll(int, int, br.com.arsmachina.dao.SortCriterion[])

findById

@Transactional(readOnly=true)
public T findById(K id)
Specified by:
findById in interface br.com.arsmachina.controller.ReadableController<T,K extends Serializable>
Overrides:
findById in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
ControllerImpl.findById(java.io.Serializable)

findByIds

@Transactional(readOnly=true)
public List<T> findByIds(K... ids)
Specified by:
findByIds in interface br.com.arsmachina.controller.ReadableController<T,K extends Serializable>
Overrides:
findByIds in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
br.com.arsmachina.controller.impl.ControllerImpl#findByIds(K[])

refresh

@Transactional(readOnly=true)
public void refresh(T object)
Overrides:
refresh in class br.com.arsmachina.controller.impl.ControllerImpl<T,K extends Serializable>
See Also:
ControllerImpl.refresh(java.lang.Object)


Copyright © 2008-2009 Thiago H. de Paula Figueiredo. All Rights Reserved.