package games.strategy.engine.data.properties; import javax.swing.JComponent; public abstract class AEditableProperty implements IEditableProperty, java.io.Serializable, Comparable<Object> { private static final long serialVersionUID = -5005729898242568847L; private final String m_name; private final String m_description; public AEditableProperty(final String name, final String description) { m_name = name; m_description = description; } @Override public int getRowsNeeded() { return 1; } @Override public String getName() { return m_name; } @Override public String getDescription() { return m_description; } @Override public JComponent getViewComponent() { final JComponent rVal = getEditorComponent(); rVal.setEnabled(false); return rVal; } @Override public int hashCode() { return m_name.hashCode(); } @Override public boolean equals(final Object other) { if (other instanceof AEditableProperty) { return ((AEditableProperty) other).m_name.equals(this.m_name); } return false; } @Override public int compareTo(final Object other) { if (other instanceof AEditableProperty) { return this.m_name.compareTo(((AEditableProperty) other).getName()); } return -1; } @Override public String toString() { return getName() + "=" + getValue().toString(); } }