/* ******************************************************************* * 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.reflect.Type; /** * A declare parents member defined inside an aspect */ public interface DeclareParents { /** * The declaring aspect */ AjType getDeclaringType(); /** * The target type pattern */ TypePattern getTargetTypesPattern(); /** * True if this is a declare parents...extends member declaration */ boolean isExtends(); /** * True if this is a declare parents...implements member declaration */ boolean isImplements(); /** * The set of types that the types matching getTargetTypesPattern are * declared to implement or extend */ Type[] getParentTypes() throws ClassNotFoundException; }