You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DeclareParents.java 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* *******************************************************************
  2. * Copyright (c) 2005 Contributors.
  3. * All rights reserved.
  4. * This program and the accompanying materials are made available
  5. * under the terms of the Eclipse Public License v1.0
  6. * which accompanies this distribution and is available at
  7. * http://eclipse.org/legal/epl-v10.html
  8. *
  9. * Contributors:
  10. * Adrian Colyer Initial implementation
  11. * ******************************************************************/
  12. package org.aspectj.lang.reflect;
  13. import java.lang.reflect.Type;
  14. /**
  15. * A declare parents member defined inside an aspect
  16. */
  17. public interface DeclareParents {
  18. /**
  19. * @return the declaring aspect
  20. */
  21. AjType getDeclaringType();
  22. /**
  23. * @return the target type pattern
  24. */
  25. TypePattern getTargetTypesPattern();
  26. /**
  27. * @return true if this is a declare parents...extends member declaration
  28. */
  29. boolean isExtends();
  30. /**
  31. * @return true if this is a declare parents...implements member declaration
  32. */
  33. boolean isImplements();
  34. /**
  35. * @return the set of types that the types matching getTargetTypesPattern are
  36. * declared to implement or extend
  37. * @throws ClassNotFoundException if any types cannot be found
  38. */
  39. Type[] getParentTypes() throws ClassNotFoundException;
  40. }