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