package org.eclipse.jst.common.internal.annotations.core; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.ICompilationUnit; /** * This interface is used by clients to allow their own annotation provider to detail information * on whether or not a given EObject is annotated for one of their tag sets. * * @author jlanuti * @planned for 2.0 */ public interface IAnnotationsProvider { /** * Return whether or not the passed EObject is annotated by your annotation provider * * @planned for 2.0 * @param eObject * @return boolean value of isAnnotated */ public boolean isAnnotated(EObject eObject); /** * The passed eObject may have been annoted. If true, it is desired to * determine which {@link ICompilationUnit} has the tag or tags that created * this object. * * @planned for 2.0 * @param eObject - An {@link EObject} that may be annotated. * @return the {@link ICompilationUnit} that has the tag that created this eObject. * * @see #getPrimaryTagset(EObject) */ public ICompilationUnit getPrimaryAnnotatedCompilationUnit(EObject eObject); /** * It is desired to obtain the tagset name which is used to create the passed * eObject. * * @planned for 2.0 * @param eObject An {@link EObject} which may be annotated. * @return The name of the tagset which creates the passed eObject. * * @see #getPrimaryAnnotatedCompilationUnit(EObject) */ public String getPrimaryTagset(EObject eObject); }