package jp.co.worksap.workspace.ide.eclipse;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import lombok.Value;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
@Value
@JsonDeserialize(using = EclipsePluginDeserializer.class)
public class EclipsePlugin {
@Nonnull
private String id;
@Nullable
private String version;
/**
* <p>Build command line parameter from this instance</p>
* @see http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_director.html
*/
public String toString() {
if (version == null) {
return id;
} else {
return id + '/' + version;
}
}
public static EclipsePlugin of(@Nonnull String pluginId) {
return of(pluginId, null);
}
public static EclipsePlugin of(@Nonnull String pluginId, @Nullable String version) {
return new EclipsePlugin(pluginId, version);
}
}