Class EntityCsvModel<T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.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 org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.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 Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.nuiton.topia.persistence.metadata.TableMeta<T>
     
    protected boolean
     

    Fields inherited from class org.nuiton.csv.ext.AbstractImportExportModel

    modelBuilder
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    EntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta)
     
    protected
    EntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta, String idHeader)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> void
    addDecoratedForeignKeyForExport(String headerName, String propertyName, com.google.common.base.Function<T,String> decorator)
     
    void
    addDefaultColumn(String propertyName, Class<?> type)
     
    void
    addDefaultColumn(String headerName, String propertyName, Class<?> type)
     
    <E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    addForeignKeyForAssociationForImport(String headerName, String propertyName, Class<E> entityType, Collection<E> entities, com.google.common.base.Function<E,String> transform)
     
    void
    addForeignKeyForExport(String propertyName, Class<org.nuiton.topia.persistence.TopiaEntity> entityType)
     
    <E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    addForeignKeyForImport(String propertyName, Class<E> entityType, Collection<E> entities)
     
    <E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    addForeignKeyForImport(String propertyName, Class<E> entityType, Map<String,E> universe)
     
    <E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    addForeignKeyForImport(String headerName, String propertyName, Class<E> entityType, Collection<E> entities, com.google.common.base.Function<E,String> transform)
     
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    EntityCsvModel<T,E>
    newModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    EntityCsvModel<T,E>
    newModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta, String idHeader)
     
    void
    setUseOrdinalForEnum(boolean useOrdinalForEnum)
     

    Methods inherited from class org.nuiton.csv.ext.AbstractImportExportModel

    getColumnsForExport, getColumnsForImport, getSeparator, newColumnForExport, newColumnForExport, newColumnForExport, newColumnForExport, newColumnForExport, newColumnForExport, newColumnForImportExport, newColumnForImportExport, newColumnForImportExport, newColumnForImportExport, newColumnForImportExport, newColumnForImportExport, newIgnoredColumn, newMandatoryColumn, newMandatoryColumn, newMandatoryColumn, newMandatoryColumn, newMandatoryColumn, newMandatoryColumn, newOptionalColumn, newOptionalColumn, newOptionalColumn, newOptionalColumn, newOptionalColumn, newOptionalColumn, pushCsvHeaderNames

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • tableMeta

      protected final org.nuiton.topia.persistence.metadata.TableMeta<T extends org.nuiton.topia.persistence.TopiaEntityEnum> tableMeta
    • useOrdinalForEnum

      protected boolean useOrdinalForEnum
  • Constructor Details

    • EntityCsvModel

      protected EntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta)
    • EntityCsvModel

      protected EntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta, String idHeader)
  • Method Details

    • newModel

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> EntityCsvModel<T,E> newModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta)
    • newModel

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> EntityCsvModel<T,E> newModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta, String idHeader)
    • newEmptyInstance

      public E newEmptyInstance()
    • setUseOrdinalForEnum

      public void setUseOrdinalForEnum(boolean useOrdinalForEnum)
    • addForeignKeyForExport

      public void addForeignKeyForExport(String propertyName, Class<org.nuiton.topia.persistence.TopiaEntity> entityType)
    • addDecoratedForeignKeyForExport

      public <T> void addDecoratedForeignKeyForExport(String headerName, String propertyName, com.google.common.base.Function<T,String> decorator)
    • addForeignKeyForImport

      public <E extends org.nuiton.topia.persistence.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 org.nuiton.topia.persistence.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 org.nuiton.topia.persistence.TopiaEntity> void addForeignKeyForImport(String propertyName, Class<E> entityType, Collection<E> entities)
    • addForeignKeyForImport

      public <E extends org.nuiton.topia.persistence.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)