A CSV template is defined with a *.csv.properties file. This properties gives you options to change general configuration, define format or provide custom validation. The available options are:

Key Default Description
charsetName UTF-8 Option to change the charset name.
quote « The quote character is used when a cell contains special characters, such as the delimiter char, a quote char, or spans multiple lines.
separator ; The delimiter character separates each cell in a row.
endOfLine \n The end of line symbols to use when writing.
showHeader true If true, show the column headers.
columns N/A Mandatory. List of the model fields to render.
xxxx.name N/A Header name to write. If the name property is not present the header will be the field name
xxxx.type String Available types are «date», «boolean», «int»,«double», «long», «bigdecimal».
xxxx.format N/A Used to format date, boolean and number (ex: birthdate.format=dd/MM/yyyy). For the boolean type you can specify how to write true or false values by two comma separated values: married.format=Yes,No.
xxxx.notNull false Is used to define if the field is optional or not.
xxxx.unique false Is used to define the field must be unique.

Example

# General configuration
quote="
separator=;
endOfLine=\n
charsetName=UTF-8

columns=customerNo, firstName, lastName, birthDate, mailingAddress, married, numberOfKids, favouriteQuote, email, loyaltyPoints

# customerNo (must be unique)
customerNo.name=ID
customerNo.nullable=false
customerNo.unique=true

# firstName
firstName.name=First name
firstName.nullable=false

# lastName
lastName.name=Last name
lastName.nullable=false

# birthDate
birthDate.name=Birth date
birthDate.nullable=false
birthDate.type=date
birthDate.format=dd/MM/yyyy

# mailingAddress
mailingAddress.name=Mailling address
mailingAddress.nullable=false

# married
married.name=Married
married.nullable=true
birthDate.type=boolean
birthDate.format=Yes,No

# numberOfKids
numberOfKids.name=Number of kids
numberOfKids.nullable=true

# favouriteQuote
favouriteQuote.name=Favorite quote
favouriteQuote.nullable=false

# email
email.name=Email
email.nullable=false

# loyaltyPoints
loyaltyPoints.name=Loyalty points
loyaltyPoints.nullable=false