Class ExportEntityVisitor<T extends TopiaEntityEnum>
java.lang.Object
org.nuiton.topia.persistence.csv.out.ExportEntityVisitor<T>
- All Implemented Interfaces:
Closeable,AutoCloseable,EntityVisitor
public class ExportEntityVisitor<T extends TopiaEntityEnum>
extends Object
implements EntityVisitor, Closeable
Entity visitor to export data to csv files.
- Since:
- 2.6.12
- Author:
- tchemit <chemit@codelutin.com>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Map<T,TopiaCsvExports.EntityExportContext<T>> Export for simple entity.protected final TopiaPersistenceHelper<T>static final org.nuiton.util.TimeLog -
Constructor Summary
ConstructorsConstructorDescriptionExportEntityVisitor(TopiaPersistenceHelper<T> persistenceHelper, Map<T, TopiaCsvExports.EntityExportContext<T>> entityExporters) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Reset all states of the visitor.voidclose()voidend(TopiaEntity entity) Ends the visit of the given entity.<E extends TopiaEntity>
voidvoidexport(TopiaEntity entity) protected TopiaCsvExports.EntityExportContextgetEntityContext(Class<? extends TopiaEntity> entityType) static <T extends TopiaEntityEnum>
ExportEntityVisitor<T>newVisitor(TopiaPersistenceHelper<T> persistenceHelper, Map<T, TopiaCsvExports.EntityExportContext<T>> entityExporters) voidstart(TopiaEntity entity) Start the visit of the given entity.voidvisit(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, int index, Object value) Visit a indexed value from a collection property for the given entity.voidvisit(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Object value) Visit a collection property for the given entity.voidvisit(TopiaEntity entity, String propertyName, Class<?> type, Object value) Visit a none indexed property for the given entity.protected voidvisitEntityCollection(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Collection<?> cValue)
-
Field Details
-
TIME_LOG
public static final org.nuiton.util.TimeLog TIME_LOG -
entityExporters
protected final Map<T extends TopiaEntityEnum,TopiaCsvExports.EntityExportContext<T extends TopiaEntityEnum>> entityExportersExport for simple entity. -
persistenceHelper
-
-
Constructor Details
-
ExportEntityVisitor
public ExportEntityVisitor(TopiaPersistenceHelper<T> persistenceHelper, Map<T, TopiaCsvExports.EntityExportContext<T>> entityExporters)
-
-
Method Details
-
newVisitor
public static <T extends TopiaEntityEnum> ExportEntityVisitor<T> newVisitor(TopiaPersistenceHelper<T> persistenceHelper, Map<T, TopiaCsvExports.EntityExportContext<T>> entityExporters) -
export
-
export
-
start
Description copied from interface:EntityVisitorStart the visit of the given entity.- Specified by:
startin interfaceEntityVisitor- Parameters:
entity- the visited entity
-
end
Description copied from interface:EntityVisitorEnds the visit of the given entity.- Specified by:
endin interfaceEntityVisitor- Parameters:
entity- the visited entity
-
visit
Description copied from interface:EntityVisitorVisit a none indexed property for the given entity. The property visited is defined by the other parameters.- Specified by:
visitin interfaceEntityVisitor- Parameters:
entity- the visited entitypropertyName- the name of the visited propertytype- the type of the visited propertyvalue- the value of the visited property
-
visit
public void visit(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Object value) Description copied from interface:EntityVisitorVisit a collection property for the given entity. The property visited is defined by the other parameters.- Specified by:
visitin interfaceEntityVisitor- Parameters:
entity- the visited entitypropertyName- the name of the visited propertycollectionType- the type of the visited collectiontype- the type of the visited propertyvalue- the value of the visited property
-
visitEntityCollection
protected void visitEntityCollection(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Collection<?> cValue) -
visit
public void visit(TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, int index, Object value) Description copied from interface:EntityVisitorVisit a indexed value from a collection property for the given entity. The property visited is defined by the other parameters.- Specified by:
visitin interfaceEntityVisitor- Parameters:
entity- the visited entitypropertyName- the name of the visited propertycollectionType- the type of the container of the visited propertytype- the type of the visited propertyindex- the index of the visited property in his containervalue- the value of the visited property
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
clear
public void clear()Description copied from interface:EntityVisitorReset all states of the visitor. If you use internal states inside the visitor, this method should clean all of them. This method should be invoked after usage of the visitor.- Specified by:
clearin interfaceEntityVisitor
-
getEntityContext
protected TopiaCsvExports.EntityExportContext getEntityContext(Class<? extends TopiaEntity> entityType)
-