1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /* *******************************************************************
- * Copyright (c) 2005 Contributors.
- * All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution and is available at
- * http://eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Adrian Colyer Initial implementation
- * ******************************************************************/
- package org.aspectj.lang.reflect;
-
- import java.lang.annotation.Annotation;
-
- /**
- * The AspectJ runtime representation of a declare annotation member in an aspect.
- *
- */
- public interface DeclareAnnotation {
-
- public enum Kind { Field, Method, Constructor, Type };
-
- /**
- * The aspect that declared this member.
- */
- AjType<?> getDeclaringType();
-
- /**
- * The target element kind
- */
- Kind getKind();
-
- /**
- * The target signature pattern. Returns null if getKind() == Type
- */
- SignaturePattern getSignaturePattern();
-
- /**
- * The target type pattern. Returns null if getKind() != Type
- */
- TypePattern getTypePattern();
-
- /**
- * The declared annotation. If the declared annotation does not have runtime retention,
- * this method returns null.
- */
- Annotation getAnnotation();
-
- /**
- * Returns the text of the annotation as declared in this member. Available for
- * both runtime and class-file retention annotations
- */
- String getAnnotationAsText();
-
- }
|