
org.openfast.template.serializer.SequenceSerializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openfast Show documentation
Show all versions of openfast Show documentation
OpenFAST is a 100% Java implementation of the FAST Protocol.
package org.openfast.template.serializer;
import org.openfast.template.Field;
import org.openfast.template.Scalar;
import org.openfast.template.Sequence;
import org.openfast.util.XmlWriter;
public class SequenceSerializer extends AbstractFieldSerializer implements FieldSerializer {
public boolean canSerialize(Field field) {
return field instanceof Sequence;
}
public void serialize(XmlWriter writer, Field field, SerializingContext context) {
Sequence sequence = (Sequence) field;
writer.start("sequence");
writeCommonAttributes(writer, field, context);
writeTypeReference(writer, sequence.getGroup(), context);
writeLength(writer, sequence, context);
if (!sequence.isImplicitLength()) {
writer.start("length");
Scalar length = sequence.getLength();
writer.addAttribute("name", length.getName());
if (!length.getQName().getNamespace().equals(context.getNamespace()))
writer.addAttribute("ns", length.getQName().getNamespace());
if (length.getId() != null)
writer.addAttribute("id", length.getId());
writer.end();
}
writeChildren(writer, context, sequence.getGroup());
writer.end();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy