package com.quantum.model; /** * @author BC */ public class Schema implements Comparable, Displayable { private String name; private String displayName; private boolean isDefault; private boolean exists = true; public Schema() { } public Schema(String name, String displayName, boolean isDefault) { this.name = name; this.displayName = displayName; this.isDefault = isDefault; } public Schema(String name) { this(name, name, false); } /** * @return */ public String getName() { return this.name; } /** * @param string */ public void setName(String name) { this.name = name; } /** * @see java.lang.Comparable#compareTo(java.lang.Object) */ public int compareTo(Object o) { Schema that = (Schema) o; if (that.isDefault() == this.isDefault()) { return this.getDisplayName().compareTo(that.getDisplayName()); } else { return that.isDefault() ? 1 : -1; } } public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } else { Schema that = (Schema) obj; if (this.name == null && !(that.name == null)) { return false; } else if (this.name != null && !this.name.equals(that.name)) { return false; } else if (this.displayName == null && !(that.displayName == null)) { return false; } else if (this.displayName == null && !this.displayName.equals(that.displayName)) { return false; } else { return true; } } } public int hashCode() { int hashCode = 51; if (this.name != null) { hashCode ^= this.name.hashCode(); } if (this.displayName != null) { hashCode ^= this.displayName.hashCode(); } return hashCode; } /** * @return */ public boolean isDefault() { return this.isDefault; } /** * @param b */ public void setDefault(boolean isDefault) { this.isDefault = isDefault; } /** * @return */ public String getDisplayName() { return this.displayName; } /** * @param string */ public void setDisplayName(String displayName) { this.displayName = displayName; } public boolean exists() { return this.exists; } void setExists(boolean exists) { this.exists = exists; } public String toString() { return this.displayName == null ? this.name : this.displayName; } }