package org.archstudio.archlight; import org.archstudio.xarchadt.ObjRef; public class ArchlightElementIdentifier implements java.io.Serializable { private static final long serialVersionUID = 3313771265145301624L; protected String elementID; protected ObjRef elementRef; protected String elementDescription; public ArchlightElementIdentifier(ObjRef elementRef, String elementDescription) { super(); this.elementRef = elementRef; this.elementID = null; this.elementDescription = elementDescription; } public ArchlightElementIdentifier(String elementID, String elementDescription) { super(); this.elementRef = null; this.elementID = elementID; this.elementDescription = elementDescription; } public String getElementDescription() { return elementDescription; } public void setElementDescription(String elementDescription) { this.elementDescription = elementDescription; } public String getElementID() { return elementID; } public void setElementID(String elementID) { this.elementID = elementID; } public ObjRef getElementRef() { return elementRef; } public void setElementRef(ObjRef elementRef) { this.elementRef = elementRef; } @Override public boolean equals(Object o) { if (!(o instanceof ArchlightElementIdentifier)) { return false; } ArchlightElementIdentifier oei = (ArchlightElementIdentifier) o; return nulleq(elementID, oei.elementID) && nulleq(elementRef, oei.elementRef) && nulleq(elementDescription, oei.elementDescription); } private static boolean nulleq(Object o1, Object o2) { if (o1 == null && o2 == null) { return true; } if (o1 == null && o2 != null) { return false; } if (o1 != null && o2 == null) { return false; } return o1.equals(o2); } @Override public String toString() { StringBuffer buf = new StringBuffer("ArchlightElementIdentifier["); buf.append("elementID=").append(elementID).append("; "); buf.append("elementRef=").append(elementRef).append("; "); buf.append("elementDescription=").append(elementDescription).append("];"); return buf.toString(); } }