package controller.comparer.xmi; public class XmiParameterElement extends XmiBaseElement { public static final String DIRECTION_IN = "in"; public static final String DIRECTION_OUT = "out"; public static final String DIRECTION_INOUT = "inout"; public static final String DIRECTION_RETURN = "return"; private static final String DIRECTION_DEFAULT = DIRECTION_IN; private String direction; public XmiParameterElement(String id, String name, String type, String visibility, String direction) { super(id, name, type, visibility); if (direction == null) { this.setDirection(DIRECTION_DEFAULT); } else if (direction.isEmpty()) { this.setDirection(DIRECTION_DEFAULT); } } public String getDirection() { return direction; } public void setDirection(String direction) { this.direction = direction; } @Override public String toString() { return this.direction + " " + super.getVisibility() + " " + super.getTypeName() + " " + super.getName(); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((direction == null) ? 0 : direction.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (!(obj instanceof XmiParameterElement)) { return false; } XmiParameterElement other = (XmiParameterElement) obj; if (direction == null) { if (other.direction != null) { return false; } } else if (!direction.equals(other.direction)) { return false; } return true; } }