org.aspectj.weaver.Member.java Source code

Java tutorial

Introduction

Here is the source code for org.aspectj.weaver.Member.java

Source

/* *******************************************************************
 * Copyright (c) 2002-2010
 * 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://www.eclipse.org/legal/epl-v10.html 
 * ******************************************************************/
package org.aspectj.weaver;

import java.util.Collection;

/**
 * Abstract representation of a member (field/constructor/method) within a type.
 * 
 * @author PARC
 * @author Adrian Colyer
 * @author Andy Clement
 */
public interface Member extends Comparable<Member> {

    public static final Member[] NONE = new Member[0];

    public static final MemberKind METHOD = new MemberKind("METHOD", 1);
    public static final MemberKind FIELD = new MemberKind("FIELD", 2);
    public static final MemberKind CONSTRUCTOR = new MemberKind("CONSTRUCTOR", 3);
    public static final MemberKind STATIC_INITIALIZATION = new MemberKind("STATIC_INITIALIZATION", 4);
    public static final MemberKind POINTCUT = new MemberKind("POINTCUT", 5);
    public static final MemberKind ADVICE = new MemberKind("ADVICE", 6);
    public static final MemberKind HANDLER = new MemberKind("HANDLER", 7);
    public static final MemberKind MONITORENTER = new MemberKind("MONITORENTER", 8);
    public static final MemberKind MONITOREXIT = new MemberKind("MONITOREXIT", 9);

    public static final AnnotationAJ[][] NO_PARAMETER_ANNOTATIONXS = new AnnotationAJ[][] {};
    public static final ResolvedType[][] NO_PARAMETER_ANNOTATION_TYPES = new ResolvedType[][] {};

    /**
     * @return the kind of member from those listed as MemberKind instances
     */
    public MemberKind getKind();

    public String getName();

    public UnresolvedType getDeclaringType();

    public UnresolvedType[] getParameterTypes();

    public UnresolvedType[] getGenericParameterTypes();

    public UnresolvedType getType();

    public UnresolvedType getReturnType();

    public UnresolvedType getGenericReturnType();

    /**
     * Return full signature, including return type, e.g. "()LFastCar;". For a signature without the return type, use
     * getParameterSignature() - it is important to choose the right one in the face of covariance.
     */
    public String getSignature();

    public JoinPointSignatureIterator getJoinPointSignatures(World world);

    public int getArity();

    /**
     * Return signature without return type, e.g. "()" for a signature *with* the return type, use getSignature() - it is important
     * to choose the right one in the face of covariance.
     */
    public String getParameterSignature();

    public int getModifiers(World world);

    public int getModifiers();

    /**
     * Returns true iff the member is generic (NOT parameterized)
     */
    public boolean canBeParameterized();

    public AnnotationAJ[] getAnnotations();

    public Collection<ResolvedType> getDeclaringTypes(World world);

    public String[] getParameterNames(World world);

    public UnresolvedType[] getExceptions(World world);

    public ResolvedMember resolve(World world);

    public int compareTo(Member other);

}