package sk.stuba.fiit.perconik.activity.serializers.ui.selection;
import java.util.Set;
import org.eclipse.jface.text.IMarkSelection;
import sk.stuba.fiit.perconik.activity.serializers.ui.text.DocumentSerializer;
import sk.stuba.fiit.perconik.data.content.StructuredContent;
import static sk.stuba.fiit.perconik.activity.serializers.Serializations.identifyObject;
import static sk.stuba.fiit.perconik.data.content.StructuredContents.key;
public final class MarkSelectionSerializer extends AbstractSelectionSerializer<IMarkSelection> {
public MarkSelectionSerializer(final Option ... options) {
super(options);
}
public MarkSelectionSerializer(final Iterable<Option> options) {
super(options);
}
static void putMarkSelection(final StructuredContent content, final IMarkSelection selection, final Set<Option> options) {
content.put(key("offset"), selection.getOffset());
content.put(key("length"), selection.getLength());
if (options.contains(StandardOption.TREE)) {
content.put(key("document"), new DocumentSerializer(options).serialize(selection.getDocument()));
} else {
content.put(key("document"), identifyObject(selection.getDocument()));
}
}
}