/*
* $Id$
*
* Copyright 2007 Glencoe Software, Inc. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.model;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import ome.model.annotations.Annotation;
import ome.util.CBlock;
/**
* @author Josh Moore, josh at glencoesoftware.com
* @since 3.0-Beta3
*/
public interface IAnnotated extends IObject {
public void clearAnnotationLinks();
public <E> List<E> collectAnnotationLinks(CBlock<E> block);
public <E> List<E> eachLinkedAnnotation(CBlock<E> block);
public <T> Iterator<T> iterateAnnotationLinks();
public <T> T linkAnnotation(Annotation addition);
public Iterator<Annotation> linkedAnnotationIterator();
public List<Annotation> linkedAnnotationList();
public int sizeOfAnnotationLinks();
public void unlinkAnnotation(Annotation removal);
public <T> Collection<T> unmodifiableAnnotationLinks();
}