Class ExportEntityVisitor<T extends org.nuiton.topia.persistence.TopiaEntityEnum>

java.lang.Object
org.nuiton.topia.service.csv.out.ExportEntityVisitor<T>
All Implemented Interfaces:
Closeable, AutoCloseable, org.nuiton.topia.persistence.TopiaEntityVisitor

public class ExportEntityVisitor<T extends org.nuiton.topia.persistence.TopiaEntityEnum> extends Object implements org.nuiton.topia.persistence.TopiaEntityVisitor, Closeable
Entity visitor to export data to csv files.
Since:
2.6.12
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • TIME_LOG

      public static final org.nuiton.util.TimeLog TIME_LOG
    • entityExporters

      protected final Map<T extends org.nuiton.topia.persistence.TopiaEntityEnum, TopiaCsvExports.EntityExportContext<T extends org.nuiton.topia.persistence.TopiaEntityEnum>> entityExporters
      Export for simple entity.
    • persistenceHelper

      protected final org.nuiton.topia.persistence.TopiaEntityEnumProvider<T extends org.nuiton.topia.persistence.TopiaEntityEnum> persistenceHelper
  • Constructor Details

  • Method Details

    • newVisitor

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> ExportEntityVisitor<T> newVisitor(org.nuiton.topia.persistence.TopiaEntityEnumProvider<T> persistenceHelper, Map<T, TopiaCsvExports.EntityExportContext<T>> entityExporters)
    • export

      public <E extends org.nuiton.topia.persistence.TopiaEntity> void export(Iterable<E> entities)
    • export

      public void export(org.nuiton.topia.persistence.TopiaEntity entity)
    • start

      public void start(org.nuiton.topia.persistence.TopiaEntity entity)
      Specified by:
      start in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • end

      public void end(org.nuiton.topia.persistence.TopiaEntity entity)
      Specified by:
      end in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • visit

      public void visit(org.nuiton.topia.persistence.TopiaEntity entity, String propertyName, Class<?> type, Object value)
      Specified by:
      visit in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • visit

      public void visit(org.nuiton.topia.persistence.TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Object value)
      Specified by:
      visit in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • visitEntityCollection

      protected void visitEntityCollection(org.nuiton.topia.persistence.TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, Collection<?> cValue)
    • visit

      public void visit(org.nuiton.topia.persistence.TopiaEntity entity, String propertyName, Class<?> collectionType, Class<?> type, int index, Object value)
      Specified by:
      visit in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • clear

      public void clear()
      Specified by:
      clear in interface org.nuiton.topia.persistence.TopiaEntityVisitor
    • getEntityContext

      protected TopiaCsvExports.EntityExportContext getEntityContext(Class<? extends org.nuiton.topia.persistence.TopiaEntity> entityType)