8
http://gibaholms.wordpress.com/ FFPOJO Framework Overview Revision: 01 Gilberto Augusto Holms [email protected] @gibaholms http://gibaholms.wordpre ss.com /

FFPOJO Framework Overview

Embed Size (px)

DESCRIPTION

This presentation is an overview about FFPOJO Project, a pojo based text file parser library for Java applications.

Citation preview

Page 1: FFPOJO Framework Overview

http://gibaholms.wordpress.com/

FFPOJO Framework Overview

Revision: 01

Gilberto Augusto [email protected]

@gibaholmshttp://gibaholms.wordpress.com/

Page 2: FFPOJO Framework Overview

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

Page 3: FFPOJO Framework Overview

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

Page 4: FFPOJO Framework Overview

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

Page 5: FFPOJO Framework Overview

http://gibaholms.wordpress.com/

FFPOJO Framework

Abstraction Standardization Simplicity Cleanliness Maintainability Object Oriented approach Additional features

Page 6: FFPOJO Framework Overview

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)

Page 7: FFPOJO Framework Overview

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

Page 8: FFPOJO Framework Overview

http://gibaholms.wordpress.com/

[email protected]

Thanks !

More Information and Samples

FFPOJO Project Site: https://github.com/gibaholms/ffpojo/

Authors Blog: http://gibaholms.wordpress.com/

Authors Twitter: @gibaholms