Package org.nuiton.topia.persistence.csv
Class EntityCsvModel<T extends TopiaEntityEnum,E extends TopiaEntity>
java.lang.Object
org.nuiton.csv.ext.AbstractImportExportModel<E>
org.nuiton.topia.persistence.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:
- tchemit <chemit@codelutin.com>
-
Field Summary
Fields Modifier and Type Field Description protected TableMeta<T>tableMetaprotected booleanuseOrdinalForEnum -
Constructor Summary
Constructors Modifier Constructor Description protectedEntityCsvModel(char separator, TableMeta<T> tableMeta)protectedEntityCsvModel(char separator, TableMeta<T> tableMeta, java.lang.String idHeader) -
Method Summary
Modifier and Type Method Description <T> voidaddDecoratedForeignKeyForExport(java.lang.String headerName, java.lang.String propertyName, org.nuiton.decorator.Decorator<T> decorator)voidaddDefaultColumn(java.lang.String propertyName, java.lang.Class<?> type)voidaddDefaultColumn(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<?> type)<E extends TopiaEntity>
voidaddForeignKeyForAssociationForImport(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities, com.google.common.base.Function<E,java.lang.String> transform)voidaddForeignKeyForExport(java.lang.String propertyName, java.lang.Class<TopiaEntity> entityType)<E extends TopiaEntity>
voidaddForeignKeyForImport(java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities)<E extends TopiaEntity>
voidaddForeignKeyForImport(java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Map<java.lang.String,E> universe)<E extends TopiaEntity>
voidaddForeignKeyForImport(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities, com.google.common.base.Function<E,java.lang.String> transform)EnewEmptyInstance()static <T extends TopiaEntityEnum, E extends TopiaEntity>
EntityCsvModel<T,E>newModel(char separator, TableMeta<T> tableMeta)static <T extends TopiaEntityEnum, E extends TopiaEntity>
EntityCsvModel<T,E>newModel(char separator, TableMeta<T> tableMeta, java.lang.String idHeader)voidsetUseOrdinalForEnum(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
-
Field Details
-
tableMeta
-
useOrdinalForEnum
protected boolean useOrdinalForEnum
-
-
Constructor Details
-
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, java.lang.String idHeader) -
newEmptyInstance
-
setUseOrdinalForEnum
public void setUseOrdinalForEnum(boolean useOrdinalForEnum) -
addForeignKeyForExport
public void addForeignKeyForExport(java.lang.String propertyName, java.lang.Class<TopiaEntity> entityType) -
addDecoratedForeignKeyForExport
public <T> void addDecoratedForeignKeyForExport(java.lang.String headerName, java.lang.String propertyName, org.nuiton.decorator.Decorator<T> decorator) -
addForeignKeyForImport
public <E extends TopiaEntity> void addForeignKeyForImport(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities, com.google.common.base.Function<E,java.lang.String> transform) -
addForeignKeyForAssociationForImport
public <E extends TopiaEntity> void addForeignKeyForAssociationForImport(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities, com.google.common.base.Function<E,java.lang.String> transform) -
addForeignKeyForImport
public <E extends TopiaEntity> void addForeignKeyForImport(java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Collection<E> entities) -
addForeignKeyForImport
public <E extends TopiaEntity> void addForeignKeyForImport(java.lang.String propertyName, java.lang.Class<E> entityType, java.util.Map<java.lang.String,E> universe) -
addDefaultColumn
public void addDefaultColumn(java.lang.String propertyName, java.lang.Class<?> type) -
addDefaultColumn
public void addDefaultColumn(java.lang.String headerName, java.lang.String propertyName, java.lang.Class<?> type)
-