/**
* Copyright (C) 2006 Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.ow2.bonita.facade.uuid;
import java.io.Serializable;
/**
* Abstract parent class for all UUID classes.
*/
public abstract class AbstractUUID implements Serializable {
private static final long serialVersionUID = 2564196915744578620L;
protected String value;
protected static final String SEPARATOR = "--";
protected AbstractUUID() { }
protected AbstractUUID(AbstractUUID src) {
this.value = src.getValue();
}
AbstractUUID(String value) {
this.value = value;
}
@Override
public String toString() {
return value;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj.getClass().equals(this.getClass()))) {
return false;
}
AbstractUUID other = (AbstractUUID)obj;
if (other.value == null) {
return value == null;
}
return other.value.equals(value);
}
@Override
public int hashCode() {
return value.hashCode();
}
public String getValue() {
return value;
}
}