package sk.stuba.fiit.perconik.activity.serializers.ui.text;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.ITypedRegion;
import sk.stuba.fiit.perconik.activity.serializers.AbstractConfigurableMultiSerializer;
import sk.stuba.fiit.perconik.data.content.StructuredContent;
import static sk.stuba.fiit.perconik.data.content.StructuredContents.key;
public final class RegionSerializer extends AbstractConfigurableMultiSerializer<IRegion> {
public RegionSerializer(final Option ... options) {
super(options);
}
public RegionSerializer(final Iterable<Option> options) {
super(options);
}
static void putRegion(final StructuredContent content, final IRegion region) {
content.put(key("offset"), region.getOffset());
content.put(key("length"), region.getLength());
if (region instanceof ITypedRegion) {
content.put(key("content", "type"), ((ITypedRegion) region).getType());
}
}
@Override
protected void put(final StructuredContent content, final IRegion region) {
putRegion(content, region);
}
}