// AID-GENERATED
// =========================================================================
// This class was generated by AID - Abstract Interface Definition
// DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
// =========================================================================
// Copyright 2000-2005, FreeHEP.
package hep.graphics.heprep;
import java.util.List;
import java.util.Set;
/**
* HepRepType interface.
*
* @author Mark Donszelmann
*/
public interface HepRepType extends HepRepDefinition {
/**
* Adds a sub-type to this type.
*
* @param type sub-type to be added.
*/
public void addType(HepRepType type);
/**
* Returns the name of this type.
* This is the full name if one uses flat-types, and the node name if one
* uses hierarchical typenames. It is the name supplied at construction of the type.
*
* @return name of type.
* @see #getFullName()
*/
public String getName();
/**
* Returns the full name of this type.
* The full name is constructed from the root of the typeTree (without the typeTreeName)
* by concatenating all the node names separated by slashes "/". For example:
* Geometry/InnerDetector/Sector24/Wire20
*
* @return full name of type.
* @see #getName()
*/
public String getFullName();
/**
* Returns the description of this type.
*
* @return description of type.
*/
public String getDescription();
/**
* Sets the description of this type.
*
* @param description
*/
public void setDescription(String description);
/**
* Returns the information URL of this type.
*
* @return info URL of type.
*/
public String getInfoURL();
/**
* Sets the information URL of this type.
*
* @param infoURL
*/
public void setInfoURL(String infoURL);
/**
* Returns the parent of this type.
*
* @return parent of type, or null if top-level.
*/
public HepRepType getSuperType();
/**
* Returns a collection of all the sub-types of this type.
*
* @deprecated use getTypeList()
* @return collection of HepRepTypes.
*/
Set/*<HepRepType>*/ getTypes();
/**
* Returns a collection of all the sub-types of this type.
*
* @return collection of HepRepTypes.
*/
public List/*<HepRepType>*/ getTypeList();
/**
* Returns a deep copy of this type.
*
* @param parent to which this copy is added.
* @return copy of this type.
* @throws CloneNotSupportedException if copying is not possible.
*/
public HepRepType copy(HepRepType parent) throws CloneNotSupportedException;
} // class or interface