package pebl; import java.util.Objects; import javax.xml.bind.annotation.XmlValue; public class ProcessLanguage implements HasId,Comparable<ProcessLanguage> { public static final ProcessLanguage BPEL = new ProcessLanguage("BPEL", "2.0"); public static final ProcessLanguage BPMN = new ProcessLanguage("BPMN", "2.0"); public static final ProcessLanguage UNKNOWN = new ProcessLanguage("NAME", "VERSION"); @XmlValue private final String id; ProcessLanguage() { this("", ""); } public ProcessLanguage(String name, String version) { this.id = String.join(HasId.SEPARATOR, Objects.requireNonNull(name), Objects.requireNonNull(version)); } public String getId() { return id; } @Override public int compareTo(ProcessLanguage o) { return getId().compareTo(o.getId()); } }