package edu.stanford.nlp.ling; import java.util.Collection; /** * Interface for Objects that have a label, whose label is an Object. * There are only two methods: Object label() and Collection labels(). * If there is only one label, labels() will return a collection of one label. * If there are multiple labels, label() will return the primary label, * or a consistent arbitrary label if there is not primary label. * * @author Sepandar Kamvar (sdkamvar@stanford.edu) * * Updated to take a specific type rather than just a blanket Object. I'm hoping * that it's true that the Collection will be of the same type as the primary label... * @author Sarah Spikes (sdspikes@cs.stanford.edu) */ public interface Labeled<E> { /** * Returns the primary label for this Object, or null if none have been set. */ public E label(); /** * Returns the complete list of labels for this Object, which may be empty. */ public Collection<E> labels(); }