All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aspectj.org.eclipse.jdt.core.dom.IAnnotationBinding Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2005, 2008 BEA Systems, Inc.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *    [email protected] - initial API and implementation
 *    IBM Corporation - changed interface to extend IBinding
 *    IBM Corporation - renamed from IResolvedAnnotation to IAnnotationBinding
 *******************************************************************************/
package org.aspectj.org.eclipse.jdt.core.dom;

/**
 * Represents a resolved annotation. Resolved annotations are computed along with other
 * bindings; they correspond to {@link Annotation} nodes.
 *
 * @since 3.2
 * @noimplement This interface is not intended to be implemented by clients.
 */
public interface IAnnotationBinding extends IBinding {

	/**
	 * Returns the complete list of member value pairs for this annotation, including
	 * ones explicitly listed in the annotation as well as entries for
	 * annotation type members with default values that are implied.
	 *
	 * @return a possibly empty list of resolved member value pairs
	 */
	IMemberValuePairBinding[] getAllMemberValuePairs();

	/**
	 * Returns the type of the annotation. The resulting type binding will always
	 * return true	to ITypeBinding.isAnnotation().
	 *
	 * @return the type of the annotation
	 */
	ITypeBinding getAnnotationType();

	/**
	 * Returns the list of declared member value pairs for this annotation.
	 * Returns an empty list for a {@link MarkerAnnotation}, a one element
	 * list for a {@link SingleMemberAnnotation}, and one entry for each
	 * of the explicitly listed values in a {@link NormalAnnotation}.
	 * 

* Note that the list only includes entries for annotation type members that are * explicitly mentioned in the annotation. The list does not include any * annotation type members with default values that are merely implied. * Use {@link #getAllMemberValuePairs()} to get those as well. *

* * @return a possibly empty list of resolved member value pairs */ IMemberValuePairBinding[] getDeclaredMemberValuePairs(); /** * Returns the name of the annotation type. * * @return the name of the annotation type */ @Override public String getName(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy