Skip to main content
summaryrefslogtreecommitdiffstats
blob: 1d1f3b134303a9fad4a2f9a5ef9d8b7432d68160 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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);
}

Back to the top