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.

AnnotationFinder.java 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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.weaver.reflect;
  13. import java.lang.reflect.Member;
  14. import java.util.Set;
  15. import org.aspectj.weaver.AnnotationX;
  16. import org.aspectj.weaver.ResolvedType;
  17. import org.aspectj.weaver.UnresolvedType;
  18. import org.aspectj.weaver.World;
  19. /**
  20. * @author colyer
  21. * Used in 1.4 code to access annotations safely
  22. */
  23. public interface AnnotationFinder {
  24. void setClassLoader(ClassLoader annotationLoader);
  25. void setWorld(World aWorld);
  26. Object getAnnotation(ResolvedType annotationType, Object onObject);
  27. Object getAnnotationFromMember(ResolvedType annotationType, Member aMember);
  28. public AnnotationX getAnnotationOfType(UnresolvedType ofType,Member onMember);
  29. public String getAnnotationDefaultValue(Member onMember);
  30. Object getAnnotationFromClass(ResolvedType annotationType, Class aClass);
  31. Set/*ResolvedType*/ getAnnotations(Member onMember);
  32. ResolvedType[][] getParameterAnnotationTypes(Member onMember);
  33. }