package sk.stuba.fiit.perconik.activity.serializers.resource; import org.eclipse.core.runtime.IPath; 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 PathSerializer extends AbstractConfigurableMultiSerializer<IPath> { public PathSerializer(final Option ... options) { super(options); } public PathSerializer(final Iterable<Option> options) { super(options); } @Override protected void put(final StructuredContent content, final IPath path) { content.put(key("device"), path.getDevice()); content.put(key("segments"), path.segments()); content.put(key("extension"), path.getFileExtension()); content.put(key("value", "standard"), path.toString()); content.put(key("value", "platform"), path.toOSString()); content.put(key("value", "portable"), path.toPortableString()); content.put(key("isAbsolute"), path.isAbsolute()); content.put(key("isEmpty"), path.isEmpty()); content.put(key("isRoot"), path.isRoot()); content.put(key("isUnc"), path.isUNC()); } }