FFPOJO Framework Overview

Post on 20-Jan-2015

670 views 0 download

Tags:

description

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

transcript

http://gibaholms.wordpress.com/

FFPOJO Framework Overview

Revision: 01

Gilberto Augusto Holmsgibaholms85@gmail.com

@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/

gibaholms85@gmail.com

Thanks !

More Information and Samples

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

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

Authors Twitter: @gibaholms