package sk.stuba.fiit.perconik.activity.serializers.ui.text; import sk.stuba.fiit.perconik.activity.serializers.AbstractConfigurableMultiSerializer; import sk.stuba.fiit.perconik.data.content.StructuredContent; import sk.stuba.fiit.perconik.eclipse.jface.text.LineRegion; import static sk.stuba.fiit.perconik.data.content.StructuredContents.key; public final class LineRegionSerializer extends AbstractConfigurableMultiSerializer<LineRegion> { public LineRegionSerializer(final Option ... options) { super(options); } public LineRegionSerializer(final Iterable<Option> options) { super(options); } static void putLineRegion(final StructuredContent content, final LineRegion region) { content.put(key("start", "line"), region.start.line); content.put(key("start", "offset"), region.start.offset); content.put(key("end", "line"), region.end.line); content.put(key("end", "offset"), region.end.offset); content.put(key("text"), region.text); } @Override protected void put(final StructuredContent content, final LineRegion region) { putLineRegion(content, region); } }