removed unused private methods.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / core / dom / IAnnotationBinding.java
1 /*******************************************************************************
2  * Copyright (c) 2005, 2008 BEA Systems, Inc.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *    tyeung@bea.com - initial API and implementation
10  *    IBM Corporation - changed interface to extend IBinding
11  *    IBM Corporation - renamed from IResolvedAnnotation to IAnnotationBinding
12  *******************************************************************************/
13 package net.sourceforge.phpdt.core.dom;
14
15 /**
16  * Represents a resolved annotation. Resolved annotations are computed along with other
17  * bindings; they correspond to {@link Annotation} nodes.
18  * 
19  * @since 3.2
20  * @noimplement This interface is not intended to be implemented by clients.
21  */
22 public interface IAnnotationBinding extends IBinding {
23
24         /**
25          * Returns the complete list of member value pairs for this annotation, including
26          * ones explicitly listed in the annotation as well as entries for 
27          * annotation type members with default values that are implied.
28          * 
29          * @return a possibly empty list of resolved member value pairs
30          */
31         IMemberValuePairBinding[] getAllMemberValuePairs();
32         
33         /**
34          * Returns the type of the annotation. The resulting type binding will always
35          * return <code>true</code>     to <code>ITypeBinding.isAnnotation()</code>.
36          * 
37          * @return the type of the annotation
38          */
39         ITypeBinding getAnnotationType();
40         
41         /**
42          * Returns the list of declared member value pairs for this annotation.
43          * Returns an empty list for a {@link MarkerAnnotation}, a one element
44          * list for a {@link SingleMemberAnnotation}, and one entry for each
45          * of the explicitly listed values in a {@link NormalAnnotation}.
46          * <p>
47          * Note that the list only includes entries for annotation type members that are
48          * explicitly mentioned in the annotation. The list does not include any 
49          * annotation type members with default values that are merely implied.
50          * Use {@link #getAllMemberValuePairs()} to get those as well.
51          * </p>
52          * 
53          * @return a possibly empty list of resolved member value pairs
54          */
55         IMemberValuePairBinding[] getDeclaredMemberValuePairs();
56         
57         /**
58          * Returns the name of the annotation type.
59          * 
60          * @return the name of the annotation type
61          */
62         public String getName();
63         
64 }