blob: 1d1f3b134303a9fad4a2f9a5ef9d8b7432d68160 [file] [log] [blame]
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);
}