Class EntityCsvModel<T extends TopiaEntityEnum,E extends TopiaEntity>

java.lang.Object
org.nuiton.csv.ext.AbstractImportExportModel<E>
org.nuiton.topia.service.csv.EntityCsvModel<T,E>
All Implemented Interfaces:
org.nuiton.csv.ExportModel<E>, org.nuiton.csv.ImportExportModel<E>, org.nuiton.csv.ImportModel<E>

public class EntityCsvModel<T extends TopiaEntityEnum,E extends TopiaEntity> extends org.nuiton.csv.ext.AbstractImportExportModel<E>
A model to import / export entities into csv files.
Since:
0.2
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • tableMeta

      protected final TableMeta<T extends TopiaEntityEnum> tableMeta
    • useOrdinalForEnum

      protected boolean useOrdinalForEnum
  • Constructor Details

    • EntityCsvModel

      protected EntityCsvModel(char separator, TableMeta<T> tableMeta)
    • EntityCsvModel

      protected EntityCsvModel(char separator, TableMeta<T> tableMeta, String idHeader)
  • Method Details

    • newModel

      public static <T extends TopiaEntityEnum, E extends TopiaEntity> EntityCsvModel<T,E> newModel(char separator, TableMeta<T> tableMeta)
    • newModel

      public static <T extends TopiaEntityEnum, E extends TopiaEntity> EntityCsvModel<T,E> newModel(char separator, TableMeta<T> tableMeta, String idHeader)
    • newEmptyInstance

      public E newEmptyInstance()
    • setUseOrdinalForEnum

      public void setUseOrdinalForEnum(boolean useOrdinalForEnum)
    • addForeignKeyForExport

      public void addForeignKeyForExport(String propertyName, Class<TopiaEntity> entityType)
    • addDecoratedForeignKeyForExport

      public <T> void addDecoratedForeignKeyForExport(String headerName, String propertyName, org.nuiton.decorator.Decorator<T> decorator)
    • addForeignKeyForImport

      public <E extends TopiaEntity> void addForeignKeyForImport(String headerName, String propertyName, Class<E> entityType, Collection<E> entities, com.google.common.base.Function<E,String> transform)
    • addForeignKeyForAssociationForImport

      public <E extends TopiaEntity> void addForeignKeyForAssociationForImport(String headerName, String propertyName, Class<E> entityType, Collection<E> entities, com.google.common.base.Function<E,String> transform)
    • addForeignKeyForImport

      public <E extends TopiaEntity> void addForeignKeyForImport(String propertyName, Class<E> entityType, Collection<E> entities)
    • addForeignKeyForImport

      public <E extends TopiaEntity> void addForeignKeyForImport(String propertyName, Class<E> entityType, Map<String,E> universe)
    • addDefaultColumn

      public void addDefaultColumn(String propertyName, Class<?> type)
    • addDefaultColumn

      public void addDefaultColumn(String headerName, String propertyName, Class<?> type)