/*
* $Id: JGraphSQLEntity.java,v 1.1.1.1 2005/08/06 05:26:45 gaudenz Exp $
*
* Copyright (c) 2001-2005, Gaudenz Alder
*
* See LICENSE file in distribution for licensing details of this source file
*/
package com.jgraph.example.adapter;
/**
* An object that represents an entity in a tree.
*/
public class JGraphSQLEntity extends JGraphBusinessObject {
protected Object id;
protected JGraphSQLEntity parent;
public JGraphSQLEntity() {
this(null);
}
public JGraphSQLEntity(Object userObject) {
this(userObject, null, null);
}
public JGraphSQLEntity(Object id, JGraphSQLEntity parent) {
this(null, id, parent);
}
public JGraphSQLEntity(Object userObject, Object id, JGraphSQLEntity parent) {
super(userObject);
setID(id);
setParent(parent);
}
/**
* @return Returns the id.
*/
public Object getID() {
return id;
}
/**
* @param id
* The id to set.
*/
public void setID(Object id) {
this.id = id;
}
/**
* @return Returns the parent.
*/
public JGraphSQLEntity getParent() {
return parent;
}
/**
* @param parent
* The parent to set.
*/
public void setParent(JGraphSQLEntity parent) {
this.parent = parent;
}
public Object clone() {
JGraphSQLEntity entity = (JGraphSQLEntity) super.clone();
entity.setID(null);
return entity;
}
public int hashCode() {
return (id != null) ? id.hashCode() : super.hashCode();
}
public boolean equals(Object other) {
if (id != null && other instanceof JGraphSQLEntity)
return ((JGraphSQLEntity) other).getID().equals(getID());
return false;
}
}