|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
T
- the entity bean typepublic interface CsvReader<T>
Reads CSV data turning it into object graphs that you can be saved (inserted) or processed yourself.
This first example doesn't use a CsvCallback
and this means it will
automatically create a transaction, save the customers and commit the
transaction when successful.
try { File f = new File("src/test/resources/test1.csv"); FileReader reader = new FileReader(f); CsvReader<Customer> csvReader = Ebean.createCsvReader(Customer.class); csvReader.setPersistBatchSize(20); csvReader.addProperty("status"); // ignore the next property csvReader.addIgnore(); csvReader.addProperty("name"); csvReader.addDateTime("anniversary", "dd-MMM-yyyy"); csvReader.addProperty("billingAddress.line1"); csvReader.addProperty("billingAddress.city"); csvReader.addReference("billingAddress.country.code"); csvReader.process(reader); } catch (Exception e) { throw new RuntimeException(e); }
Method Summary | |
---|---|
void |
addDateTime(String propertyName,
String dateTimeFormat)
Add a property with a custom Date/Time/Timestamp format using the default Locale. |
void |
addDateTime(String propertyName,
String dateTimeFormat,
Locale locale)
Add a property with a custom Date/Time/Timestamp format. |
void |
addIgnore()
Ignore the next column of data. |
void |
addProperty(String propertyName)
Define the property which will be loaded from the next column of data. |
void |
addProperty(String propertyName,
StringParser parser)
Define the next property and use a custom StringParser to convert the string content into the appropriate type for the property. |
void |
addReference(String propertyName)
Define the next property to be a reference. |
void |
process(Reader reader)
Automatically create a transaction if required to process all the CSV content from the reader. |
void |
process(Reader reader,
CsvCallback<T> callback)
Process the CSV content passing the bean to the CsvCallback after each row. |
void |
setHasHeader(boolean hasHeader)
Set to true if there is a header row that should be ignored. |
void |
setLogInfoFrequency(int logInfoFrequency)
Set the frequency with which a INFO message will be logged showing the progress of the processing. |
void |
setPersistBatchSize(int persistBatchSize)
Set the batch size for using JDBC statement batching. |
Method Detail |
---|
void setPersistBatchSize(int persistBatchSize)
By default this is set to 20 and setting this to 1 will disable the use of JDBC statement batching.
void setHasHeader(boolean hasHeader)
void setLogInfoFrequency(int logInfoFrequency)
If this is not set then no INFO messages will be logged.
void addIgnore()
void addProperty(String propertyName)
This takes into account the data type of the property and handles the String to object conversion automatically.
void addReference(String propertyName)
void addProperty(String propertyName, StringParser parser)
void addDateTime(String propertyName, String dateTimeFormat)
void addDateTime(String propertyName, String dateTimeFormat, Locale locale)
void process(Reader reader) throws Exception
This will check for a current transaction. If there is no current transaction then one is started and will commit (or rollback) at the end of processing. This will also set the persistBatchSize on the transaction.
Exception
void process(Reader reader, CsvCallback<T> callback) throws Exception
This provides you with the ability to modify and process the bean.
When using a CsvCallback the reader WILL NOT create a transaction or save the bean(s) for you. If you want to insert the processed beans you must create your own transaction and save the bean(s) yourself.
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |