Class EntityOperator<B extends TopiaEntity>
java.lang.Object
org.nuiton.topia.persistence.util.EntityOperator<B>
- Type Parameters:
B- type de l'entite
Un objet qui permet d'effecuter des operations de manipulation des donnees
dans les entites du type donne.
L'objet connait la liste des proprietes et des associations du type donne et
permet de modifier ces valeurs :
get(String, TopiaEntity)
set(String, TopiaEntity, Object)
copy(String, TopiaEntity, TopiaEntity)
getChild(String, TopiaEntity, String)
addChild(String, TopiaEntity, Object)
removeChild(String, TopiaEntity, Object)
...
D'autres methodes permettent d'effectuer des operations en lot (sur plusieurs
proprietes en meme temps) sur les proprietes :
copyProperties(TopiaEntity, TopiaEntity, boolean, String...)
obtainProperties(TopiaEntity, String...)
clearProperties(TopiaEntity, String...)
Note : cet objet ne permet pas d'operation vers les bases.- Since:
- 2.2.0
- Author:
- Tony Chemit - chemit@codelutin.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionlist of association names available on the entity.protected Method[]cache of assocationaddAllmethods.protected Method[]cache of assocationaddmethods.protected Method[]cache of assocationclearmethods.protected Method[]cache of assocationgetmethods.protected Method[]cache of assocationisEmptymethods.protected Method[]cache of assocationremovemethods.protected Method[]cache of assocationsizemethods.protected final TopiaEntityEnumthe constant of the entityprotected Method[]cache of getter methods.list of property names available on the entity used in a natural ids or marked as not-null.list of property names available on the entity.protected Method[]cache of setter methods. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAllChild(String name, B bean, Collection<?> childs) Ajoute toutes les entites d'association.voidAjoute une entite d'association.voidclearChild(String name, B bean) Retire toutes les entites d'association.voidclearProperties(B from, String... properties) Met a null toutes les proprietes donnees.clone()voidCopie une propriete de src vers dst.voidcopyProperties(B from, B dst, boolean tech, String... properties) Recopie toutes les proprietes donnes depuis src vers dst.booleanprotected voidfinalize()Recupere la valeur de la propriete donnee.protected Class<?>getAssociationPropertyType(int index) Class<?>Recupere une entite d'association a partir de son id.getClazz()getNaturalId(B bean) Pour obtenir un dictionnaire de la clef naturelle (clef métier) dubeandonne.String[]Get all properties from a natural id or marked as not-null.getNaturalIsdAndNotNulls(B bean) Pour obtenir un dictionnaire des propriétés marqués not-null et la clef naturelle dubeandonne.getNotNull(B bean) Pour obtenir un dictionnaire des propriétés marqués not-null dubeandonne.protected Collection<String>getProperties(String[] properties) protected Class<?>getPropertyType(int index) Class<?>getPropertyType(String name) inthashCode()protected voidinit()protected voidinit(Class<?> entityClass, Set<Class<?>> explored, List<String> properties, List<String> associationProperties, List<Method> getters, List<Method> setters, List<Method> childGetters, List<Method> childAdders, List<Method> childAddersAll, List<Method> childRemovers, List<Method> childSize, List<Method> childClearers, List<Method> childIsEmpty) protected static voidprotected static <V> VinvokeWithResult(Method m, Object bean, Object... args) booleanisChildEmpty(String name, B bean) Test s'il existe des entites d'association pour la propriete donnee.protected BobtainProperties(B from, String... properties) Obtenir dans un dictionnaire, les valeurs des proprietes donnees.voidremoveChild(String name, B bean, Object child) Retire une entite d'association.voidPositionner la valeur donne de la propriete donnee.voidPositionner la valeur nulle de la propriete donnee.intRetourne le nombre d'entite d'association.toString()
-
Field Details
-
contract
the constant of the entity -
properties
list of property names available on the entity. -
naturalIdsOnNotNullsProperties
list of property names available on the entity used in a natural ids or marked as not-null.- Since:
- 2.6.9
-
associationProperties
list of association names available on the entity. -
getMethods
cache of getter methods. -
setMethods
cache of setter methods. -
childGetMethods
cache of assocationgetmethods. -
childAddMethods
cache of assocationaddmethods. -
childAddAllMethods
cache of assocationaddAllmethods. -
childRemoveMethods
cache of assocationremovemethods. -
childSizeMethods
cache of assocationsizemethods. -
childIsEmptyMethods
cache of assocationisEmptymethods. -
childClearMethods
cache of assocationclearmethods.
-
-
Constructor Details
-
EntityOperator
-
-
Method Details
-
get
Recupere la valeur de la propriete donnee. Note : cela apellera la methodegetXXX().- Parameters:
name- le nom de la proprietebean- l'instance a interroger- Returns:
- la valeur de la propriete
-
set
Positionner la valeur donne de la propriete donnee. Note : cela apellera la methodesetXXX(value).- Parameters:
name- le nom de la proprietebean- l'instance a mettre a jourvalue- la valeur a positionner
-
getNaturalId
Pour obtenir un dictionnaire de la clef naturelle (clef métier) dubeandonne.- Parameters:
bean- le bean a inspecter- Returns:
- le dictionnaire de la clef naturel du bean
- Since:
- 2.4.1
- See Also:
-
getNotNull
Pour obtenir un dictionnaire des propriétés marqués not-null dubeandonne.- Parameters:
bean- le bean a inspecter- Returns:
- le dictionnaire des propriétés marquées not-null du bean
- Since:
- 2.6.9
- See Also:
-
getNaturalIdsOnNotNullsProperties
Get all properties from a natural id or marked as not-null.- Returns:
- all property names froma natural id or marked as not-null
- Since:
- 2.6.9
-
getNaturalIsdAndNotNulls
Pour obtenir un dictionnaire des propriétés marqués not-null et la clef naturelle dubeandonne. Cette methode est utilisée pour faire un dao.create, pour s'assurer que tout ce qui ne doit pas pas être à null est bien fourni à la création de l'objet, sinon on obtient des erreurs.- Parameters:
bean- le bean a inspecter- Returns:
- le dictionnaire des propriétés marquées not-null + la clef naturelle du bean
- Since:
- 2.6.9
- See Also:
-
copy
Copie une propriete de src vers dst. Note : cela apellera la methodesetXXX(value).- Parameters:
name- le nom de la proprietefrom- l'instance a interrogerdst- l'instance a mettre a jour
-
setNull
Positionner la valeur nulle de la propriete donnee. Note : cela apellera la methodesetXXX(nullValue).- Parameters:
name- le nom de la proprietebean- l'instance a mettre a jour
-
getChild
Recupere une entite d'association a partir de son id. Note : cela apellera la methodegetXXXByTopiaId(topiaId).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a interrogertopiaId- l'id de l'entite recherchee- Returns:
- l'entite
-
isChildEmpty
Test s'il existe des entites d'association pour la propriete donnee. Note : cela apellera la methodeisXXXEmpty().- Parameters:
name- le nom de la propriete d'associationbean- l'instance a interroger- Returns:
truesi pas d'entite d'association
-
addChild
Ajoute une entite d'association. Note : cela apellera la methodeaddXXX(child).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a mettre a jourchild- l'entite a ajouter
-
addAllChild
Ajoute toutes les entites d'association. Note : cela apellera la methodeaddXXX(child).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a mettre a jourchilds- les entites a ajouter
-
removeChild
Retire une entite d'association. Note : cela apellera la methoderemoveXXX(child).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a mettre a jourchild- l'entite a retirer
-
sizeChild
Retourne le nombre d'entite d'association. Note : cela apellera la methodesizeXXX(childs).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a mettre a jour- Returns:
- le nombre d'entite d'associaotion
-
clearChild
Retire toutes les entites d'association. Note : cela apellera la methodeclearXXX(childs).- Parameters:
name- le nom de la propriete d'associationbean- l'instance a mettre a jour
-
copyProperties
Recopie toutes les proprietes donnes depuis src vers dst. Note : si aucune propriete n'est donnee, on utilise toutes les proprietes connues par l'operateur.- Parameters:
from- l'entite a interrogerdst- l'entite a mettre a jourtech- un drapeau pour recopier aussi les infos techniquesproperties- les proprietes a recopier
-
obtainProperties
Obtenir dans un dictionnaire, les valeurs des proprietes donnees. Si aucune proropiete n'est donne, alors on utilise toutes les proprietes connu par l'operateur.- Parameters:
from- l'object a scanneproperties- les proprietes a retenir (vide si on les veut toutes)- Returns:
- le dictionnaire des valeurs des proprietes
-
clearProperties
Met a null toutes les proprietes donnees. Si aucune proropiete n'est donnee, alors on utilise toutes les proprietes connu par l'operateur.- Parameters:
from- l'object a scanneproperties- les proprietes a retenir (vide si on les veut toutes)
-
getProperties
-
getAssociationProperties
-
getPropertyType
-
getAssociationPropertyType
-
getClazz
-
equals
-
hashCode
public int hashCode() -
clone
-
finalize
-
toString
-
getProperties
-
getPropertyType
-
getAssociationPropertyType
-
newInstance
-
init
protected void init() -
invoke
-
invokeWithResult
-
init
protected void init(Class<?> entityClass, Set<Class<?>> explored, List<String> properties, List<String> associationProperties, List<Method> getters, List<Method> setters, List<Method> childGetters, List<Method> childAdders, List<Method> childAddersAll, List<Method> childRemovers, List<Method> childSize, List<Method> childClearers, List<Method> childIsEmpty) throws IntrospectionException - Throws:
IntrospectionException
-