Upload
gilberto-holms
View
673
Download
0
Embed Size (px)
DESCRIPTION
This presentation is an overview about FFPOJO Project, a pojo based text file parser library for Java applications.
Citation preview
http://gibaholms.wordpress.com/
FFPOJO Framework Overview
Revision: 01
Gilberto Augusto [email protected]
@gibaholmshttp://gibaholms.wordpress.com/
http://gibaholms.wordpress.com/
About me...
Gilberto Augusto Holms
Java and SOA Architect Expertise: Java, EAI, SOA, BPEL, BPM, Oracle Fusion Middleware Interests: OpenSource, Artificial Intelligence, Innovation Twitter: @gibaholms Blog: http://gibaholms.wordpress.com/ SCJA, SCJP, SCWCD, SCBCD, SCDJWS, OCE WLP 10g
http://gibaholms.wordpress.com/
Text Files and Tabular Information
Most common and old way for information exchange Platform independent ASCII Format Fast access to data (no types, protocols or envelopes) Simple to create Simple to consume Lightweight Widely used today
http://gibaholms.wordpress.com/
Common Troubles
A lot of parsing code, less business code Hard to maintain Little change to layout big change to code Encourages procedural approach Code replication Lack of standards Easy to make mistakes Hard to test A big mess
http://gibaholms.wordpress.com/
FFPOJO Framework
Abstraction Standardization Simplicity Cleanliness Maintainability Object Oriented approach Additional features
http://gibaholms.wordpress.com/
FFPOJO Framework – Additional Features
Supports delimited, positional and mixed layout files Annotations and/or XML mappings, with overridding Metadata information caching (performance) Many abstraction levels (string, file, processor) Custom typing (“decorators”) File Writer and File Reader object abstractions Optional use of NIO Complex files support, with Header, Body and Footer concepts Can work on “push” style (processor concept) Built-in multithreading support Lightweight (no extra API dependencies)
http://gibaholms.wordpress.com/
Easy to Use
Create a record POJO and annotate it (positional or delimited)
Annotate POJO getters too
Make your parses (low level example, string abstraction)
@PositionalRecordpublic static class Customer {
private String name; private String email; ...
@PositionalField(initialPosition = 6, finalPosition = 25)public String getName() { return name;}...@PositionalField(initialPosition = 26, finalPosition = 55)public String getEmail() { return email;}
while ( (line = reader.readLine()) != null) { Customer cust = ffpojo.createFromText(Customer.class, line);}
String line = ffpojo.parseToText(customer);
Text-To-Pojo
Pojo-To-Text
http://gibaholms.wordpress.com/
Thanks !
More Information and Samples
FFPOJO Project Site: https://github.com/gibaholms/ffpojo/
Authors Blog: http://gibaholms.wordpress.com/
Authors Twitter: @gibaholms