Poster taggade med ‘flr’

Tidigare idag fick jag tips från min kollega Mikael Elm om ramverket JSefa som de använder för att skapa fixed length records vid kommunikation med ett legacy-system.

JSefa är ett litet och smidigt ramverk för strömmande serialisering av javaobjekt till XML, CSV och FLR.

Nedanstående exempel visar FLR-användningen av JSefa

Objektet som ska serialiseras

@FlrDataType()
public class Person {
    @FlrField(pos = 1, length = 30)
    private String name;

    @FlrField(pos = 2, length = 10, format = "dd.MM.yyyy", align = Align.RIGHT)
    private Date birthDate;
}

Serialisering

Serializer serializer = FlrIOFactory.createFactory(Person.class).createSerializer();
StringWriter writer = new StringWriter();
serializer.open(writer);

// call serializer.write for every object to serialize...

serializer.close(true);

Resultatet blir då:

Erwin Schmidt                 23.05.1964
Thomas Stumm                  12.03.1979

Deserialisering

Deserializer deserializer = FlrIOFactory.createFactory(Person.class).createDeserializer();
StringReader reader = new StringReader(writer.toString());
deserializer.open(reader);
while (deserializer.hasNext()) {
    Person p = deserializer.next();
    // do something useful with it...
}
deserializer.close(true);

För att serialisera XML eller CSV används liknande konstruktioner med annotationer och Serializers/Deserializers.