https://github.com/umjammer/klab-commons-csv
🍊 Java Annotation for CSV
https://github.com/umjammer/klab-commons-csv
annotation csv java pojo
Last synced: 26 days ago
JSON representation
🍊 Java Annotation for CSV
- Host: GitHub
- URL: https://github.com/umjammer/klab-commons-csv
- Owner: umjammer
- Created: 2014-12-02T07:39:58.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2022-10-22T14:11:41.000Z (over 3 years ago)
- Last Synced: 2024-05-01T22:34:41.837Z (about 2 years ago)
- Topics: annotation, csv, java, pojo
- Language: Java
- Homepage:
- Size: 160 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://jitpack.io/#umjammer/klab-commons-csv)
[](https://github.com/umjammer/klab-commons-csv/actions)
[](https://github.com/umjammer/klab-commons-csv/actions/workflows/codeql-analysis.yml)

# klab-commons-csv
Annotations for CSV
## POJO annotation
As CSV column definitions, just add `@CsvEntity`, `@CsvColumn` annotation into a POJO.
```java
@CsvEntity(url = "classpath:test.csv", encoding = "Windows-31J")
class Foo {
@CsvColumn(sequence = 0)
@GeneratedValue // give a id number automatically when reading.
Integer id;
@CsvColumn(sequence = 1)
String column1;
@CsvColumn(sequence = 2)
int column2;
@CsvColumn(sequence = 3)
@Enumerated(EnumType.ORDINAL)
SomeEnumType column3;
@CsvColumn(sequence = 4)
@Dialectal // dealing user defined columns or variable length columns
UserType notCsvColumn;
}
```
## Usage
read by one liner.
```Java
List result = CsvEntity.Util.read(Foo.class);
```
## TODO
* ~~args~~ done
* ~~make default provider apache-commons-csv~~ done
* ~~delimiter~~ done