package de.uka.ipd.consensus.foundation.schema;

/**
 * <p>This is a wrapper interface for special associations that manage the type-instance-relationship between two topics.</p>
 * <p>Note that while this interface is of type Rateable, the RatingManager cannot assign ratings to TypeInstance objects directly.
 * Instead, it assigns the rating to the wrapped association. Therefore, an implementation simply delegates all Rateable methods
 * to the wrapped association.</p>
 * <p>The OntologyManager is responsible for creating and managing objects of this type.</p>
 * @author Thomas Much
 * @version 2006-06-14
 * @see de.uka.ipd.consensus.foundation.rating.RatingManager
 * @see de.uka.ipd.consensus.foundation.ontology.OntologyManager
 * @see Topic
 */
public interface TypeInstance extends Rateable,Comparable {

	/**
	 * Returns the type topic of a type-instance-relationship between two topics.
	 * @return the type topic, never <code>null</code>
	 */
	public Topic getType();
	
	
	/**
	 * Returns the instance topic of a type-instance-relationship between two topics.
	 * @return the instance topic, never <code>null</code>
	 */
	public Topic getInstance();

}
