org.nuiton.topia.persistence.util
Class EntityListUpdator<P extends TopiaEntity,E extends TopiaEntity>

java.lang.Object
  extended by org.nuiton.topia.persistence.util.EntityListUpdator<P,E>
Type Parameters:
P - type of parent of childs
E - type of child
All Implemented Interfaces:
ListUpdator<P,E>

public class EntityListUpdator<P extends TopiaEntity,E extends TopiaEntity>
extends Object
implements ListUpdator<P,E>

A implementation of ListUpdator for TopiaEntity type.

Some factory methods are defined to simplify the generic cast, prefer used them instead of the (protected) constructor.

Author:
tchemit

Field Summary
protected  Method addMethod
           
protected  PropertyDescriptor descriptor
           
protected  Method getMethod
           
protected  String propertyName
           
protected  Method removeMethod
           
 
Constructor Summary
protected EntityListUpdator(Class<P> parentClass, Class<E> childClass, String propertyName)
           
 
Method Summary
 void addToList(P parent, E bean)
          Add a erntity to his parent
 E getChild(P parent, String topiaId)
          Obtain a child from the entity given his id.
 Collection<E> getChilds(P parent)
          Obtain the collection of childs from the entity.
protected static void invoke(Method m, Object bean, Object... args)
           
protected static
<V> V
invokeWithResult(Method m, Object bean, Object... args)
           
static
<P extends TopiaEntity,E extends TopiaEntity>
EntityListUpdator<P,E>
newEntityListUpdator(Class<P> parentClass, Class<E> childClass, String propertyName)
           
 void removeFromList(P parent, E bean)
          Remove from a prent entity a given child.
 void setChilds(P parent, Collection<E> childs)
          Set the childs of an entity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertyName

protected String propertyName

descriptor

protected PropertyDescriptor descriptor

getMethod

protected Method getMethod

addMethod

protected Method addMethod

removeMethod

protected Method removeMethod
Constructor Detail

EntityListUpdator

protected EntityListUpdator(Class<P> parentClass,
                            Class<E> childClass,
                            String propertyName)
Method Detail

newEntityListUpdator

public static <P extends TopiaEntity,E extends TopiaEntity> EntityListUpdator<P,E> newEntityListUpdator(Class<P> parentClass,
                                                                                                        Class<E> childClass,
                                                                                                        String propertyName)

getChild

public E getChild(P parent,
                  String topiaId)
Description copied from interface: ListUpdator
Obtain a child from the entity given his id.

Specified by:
getChild in interface ListUpdator<P extends TopiaEntity,E extends TopiaEntity>
Parameters:
parent - the entity to query
topiaId - the id of the researched child entity.
Returns:
the child entity or null, if not found.

getChilds

public Collection<E> getChilds(P parent)
Description copied from interface: ListUpdator
Obtain the collection of childs from the entity.

Specified by:
getChilds in interface ListUpdator<P extends TopiaEntity,E extends TopiaEntity>
Parameters:
parent - the entity to query.
Returns:
the collection of childs

setChilds

public void setChilds(P parent,
                      Collection<E> childs)
Description copied from interface: ListUpdator
Set the childs of an entity

Specified by:
setChilds in interface ListUpdator<P extends TopiaEntity,E extends TopiaEntity>
Parameters:
parent - the entity to be setted
childs - the collection of childs to set.

addToList

public void addToList(P parent,
                      E bean)
               throws TopiaException
Description copied from interface: ListUpdator
Add a erntity to his parent

Specified by:
addToList in interface ListUpdator<P extends TopiaEntity,E extends TopiaEntity>
Parameters:
parent - the parent entity
bean - the entity to add in parent.
Throws:
TopiaException - if any db problem while operation

removeFromList

public void removeFromList(P parent,
                           E bean)
                    throws TopiaException
Description copied from interface: ListUpdator
Remove from a prent entity a given child.

Specified by:
removeFromList in interface ListUpdator<P extends TopiaEntity,E extends TopiaEntity>
Parameters:
parent - the parent entity
bean - the child to remove.
Throws:
TopiaException - if any pb while operation.

invoke

protected static void invoke(Method m,
                             Object bean,
                             Object... args)

invokeWithResult

protected static <V> V invokeWithResult(Method m,
                                        Object bean,
                                        Object... args)


Copyright © 2004-2010 CodeLutin. All Rights Reserved.