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
FieldsModifier and TypeFieldDescriptionprotected final org.nuiton.topia.persistence.metadata.TableMeta<T> protected booleanFields inherited from class org.nuiton.csv.ext.AbstractImportExportModel
modelBuilder -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta) protectedEntityCsvModel(char separator, org.nuiton.topia.persistence.metadata.TableMeta<T> tableMeta, String idHeader) -
Method Summary
Modifier and TypeMethodDescription<T> voidaddDecoratedForeignKeyForExport(String headerName, String propertyName, com.google.common.base.Function<T, String> decorator) voidaddDefaultColumn(String propertyName, Class<?> type) voidaddDefaultColumn(String headerName, String propertyName, Class<?> type) <E extends org.nuiton.topia.persistence.TopiaEntity>
voidaddForeignKeyForAssociationForImport(String headerName, String propertyName, Class<E> entityType, Collection<E> entities, com.google.common.base.Function<E, String> transform) voidaddForeignKeyForExport(String propertyName, Class<org.nuiton.topia.persistence.TopiaEntity> entityType) <E extends org.nuiton.topia.persistence.TopiaEntity>
voidaddForeignKeyForImport(String propertyName, Class<E> entityType, Collection<E> entities) <E extends org.nuiton.topia.persistence.TopiaEntity>
voidaddForeignKeyForImport(String propertyName, Class<E> entityType, Map<String, E> universe) <E extends org.nuiton.topia.persistence.TopiaEntity>
voidaddForeignKeyForImport(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) 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
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
-
-
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
-
setUseOrdinalForEnum
public void setUseOrdinalForEnum(boolean useOrdinalForEnum) -
addForeignKeyForExport
-
addDecoratedForeignKeyForExport
-
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
-
addDefaultColumn
-
addDefaultColumn
-