package de.uni_passau.fim.pkjab.model.tags;
public abstract class AbstractXMLTag implements Comparable {
public final String uri;
protected AbstractXMLTag(String uri) {
if (uri == null) {
throw new IllegalArgumentException();
}
this.uri = uri;
}
public abstract String getName();
public boolean equals(Object o) {
return (o != null && o instanceof XMLTag) ? equals((XMLTag) o) : false;
}
public boolean equals(AbstractXMLTag o) {
return (this == o) || (getName().equals(o.getName()) && uri.equals(o.uri));
}
public int compareTo(Object o) {
if (o == null || !(o instanceof AbstractXMLTag)) {
throw new IllegalArgumentException();
}
int temp = getName().compareTo(((AbstractXMLTag)o).getName());
return temp == 0 ? uri.compareTo(((AbstractXMLTag)o).uri) : temp;
}
public String toString() {
return getName() + "(" + uri + ")";
}
}