/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.common.namedobject;
/**
* @since 8.0
*/
public interface BaseObject extends Comparable, Cloneable {
/**
* Return the identifier for this object. The returned type will be an instance of the BaseID subclass
* which corresponds to the class of this node.
* @return the specialized BaseID instance for this node.
*/
BaseID getID();
/**
* Returns the name for this instance of the object. If you are using
* the dot notation for a naming conventions, this will return the last
* node in name.
* @return the name
*
* @see #getFullName
*/
String getName();
/**
* Returns the full name for this instance of the object.
* @return the name
*/
String getFullName();
/**
* Return a deep cloned instance of this object. Subclasses must override
* this method.
* @return the object that is the clone of this instance.
*/
Object clone();
}