Class Collector<R>
java.lang.Object
org.nuiton.topia.persistence.util.Collector<R>
- Type Parameters:
R- les donnes a retourner
public abstract class Collector<R>
extends java.lang.Object
Un objet qui permet de parcourir des entites (via un
Collector.CollectorVisitor) et de collecter des donnees pendant le parcours.
La classe a un type qui est le type de retour de la methode
detect(TopiaEntity...).
On peut donc très facilement en faire un collecteur de donnees.- Since:
- 2.2.0
- Author:
- tchemit <chemit@codelutin.com>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCollector.CollectorVisitor -
Field Summary
Fields Modifier and Type Field Description protected TopiaEntityEnum[]contractsla liste des contracts des entites connues.protected Collector.CollectorVisitorvisitorle visiteur utiliser pour trouver les types -
Constructor Summary
Constructors Constructor Description Collector(TopiaEntityEnum[] contracts)Collector(Collector.CollectorVisitor visitor, TopiaEntityEnum[] contracts) -
Method Summary
Modifier and Type Method Description protected voidafter(Collector.CollectorVisitor visitor, TopiaEntity entity)protected abstract RafterAll(Collector.CollectorVisitor visitor, TopiaEntity... entities)protected voidbefore(Collector.CollectorVisitor visitor, TopiaEntity entity)protected voidbeforeAll(Collector.CollectorVisitor visitor, TopiaEntity... entities)protected voidclear()Rdetect(TopiaEntity... entities)protected voidfinalize()protected java.util.Collection<TopiaEntity>getAlreadyExplored()protected java.lang.Class<? extends TopiaEntity>getContractClass(TopiaEntity e)protected java.util.Deque<TopiaEntity>getStack()protected TopiaEntitygetTopiaValue(java.lang.Object value)protected voidonEnded(TopiaEntity e, boolean enter)protected booleanonEnding(TopiaEntity e)protected voidonStarted(TopiaEntity e, boolean enter)protected booleanonStarting(TopiaEntity e)protected voidonVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, int index, java.lang.Object value, boolean enter)protected voidonVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, java.lang.Object value, boolean enter)protected voidonVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> type, java.lang.Object value, boolean enter)protected booleanonVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, int index, java.lang.Object value)protected booleanonVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, java.lang.Object value)protected booleanonVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> type, java.lang.Object value)protected intstackSize()
-
Field Details
-
Constructor Details
-
Method Details
-
clear
protected void clear() -
onStarting
-
onStarted
-
onVisiting
protected boolean onVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> type, java.lang.Object value) -
onVisited
protected void onVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> type, java.lang.Object value, boolean enter) -
onVisiting
protected boolean onVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, java.lang.Object value) -
onVisited
protected void onVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, java.lang.Object value, boolean enter) -
onVisiting
protected boolean onVisiting(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, int index, java.lang.Object value) -
onVisited
protected void onVisited(TopiaEntity e, java.lang.String name, java.lang.Class<?> collectionType, java.lang.Class<?> type, int index, java.lang.Object value, boolean enter) -
onEnding
-
onEnded
-
beforeAll
-
before
-
after
-
afterAll
-
detect
- Throws:
TopiaException
-
stackSize
protected int stackSize() -
getStack
-
getAlreadyExplored
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
getContractClass
-
getTopiaValue
-