package sk.stuba.fiit.perconik.activity.serializers.command;
import org.eclipse.core.commands.Category;
import org.eclipse.core.commands.common.NotDefinedException;
import sk.stuba.fiit.perconik.activity.serializers.AbstractConfigurableMultiSerializer;
import sk.stuba.fiit.perconik.data.content.StructuredContent;
import static sk.stuba.fiit.perconik.activity.serializers.Serializations.putObjectIdentity;
import static sk.stuba.fiit.perconik.data.content.StructuredContents.key;
public final class CategorySerializer extends AbstractConfigurableMultiSerializer<Category> {
public CategorySerializer(final Option ... options) {
super(options);
}
public CategorySerializer(final Iterable<Option> options) {
super(options);
}
static void putCategory(final StructuredContent content, final Category category) {
content.put(key("identifier"), category.getId());
try {
content.put(key("name"), category.getName());
content.put(key("description"), category.getDescription());
} catch (NotDefinedException ignore) {}
content.put(key("isDefined"), category.isDefined());
}
@Override
protected void put(final StructuredContent content, final Category category) {
putObjectIdentity(content, category);
putCategory(content, category);
}
}