// demonstrate serialization of a non-annotated java object
StreamWriter sw = abdera.newStreamWriter();
ByteArrayOutputStream out = new ByteArrayOutputStream();
sw.setOutputStream(out).setAutoIndent(true);
ConventionSerializationContext c = new ConventionSerializationContext(sw);
c.setSerializer(MyEntry.class, new EntrySerializer());
sw.startDocument();
c.serialize(new MyEntry());
sw.endDocument();
// once the object has been serialized, we can see that it's a parseable Atom document
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
Document<Entry> doc = abdera.getParser().parse(in);
Entry entry = doc.getRoot();
entry.writeTo(System.out);
System.out.println();
// demonstrate serialization using an annotated java object
// annotations allow the developer to customize the way the
// object is serialized
sw = abdera.newStreamWriter();
out = new ByteArrayOutputStream();
sw.setOutputStream(out).setAutoIndent(true);
c = new ConventionSerializationContext(sw);
sw.startDocument();
c.serialize(new MyAnnotatedEntry());
sw.endDocument();
in = new ByteArrayInputStream(out.toByteArray());
doc = abdera.getParser().parse(in);
entry = doc.getRoot();