01: /**************************************************************************************
02: * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
03: * http://aspectwerkz.codehaus.org *
04: * ---------------------------------------------------------------------------------- *
05: * The software in this package is published under the terms of the LGPL license *
06: * a copy of which has been included with this distribution in the license.txt file. *
07: **************************************************************************************/package org.codehaus.aspectwerkz.joinpoint;
08:
09: import java.util.List;
10:
11: import org.codehaus.aspectwerkz.annotation.Annotation;
12:
13: /**
14: * Interface for the member signatures (method, constructor and field).
15: *
16: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
17: */
18: public interface MemberSignature extends Signature {
19:
20: /**
21: * Return the annotation with a specific name.
22: *
23: * @param annotationName the annotation name
24: * @return the annotation or null
25: */
26: Annotation getAnnotation(String annotationName);
27:
28: /**
29: * Return a list with the annotations with a specific name.
30: *
31: * @param annotationName the annotation name
32: * @return the annotations in a list (can be empty)
33: */
34: List getAnnotations(String annotationName);
35:
36: /**
37: * Return all the annotations <p/>Each annotation is wrapped in
38: * {@link org.codehaus.aspectwerkz.annotation.AnnotationInfo}instance.
39: *
40: * @return a list with the annotations
41: */
42: List getAnnotationInfos();
43: }
|