public Annotation[] getAllFieldAnnotations(Field field, Locatable srcPos) { Annotation[] r = field.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public Annotation[] getAllMethodAnnotations(Method method, Locatable srcPos) { Annotation[] r = method.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public <A extends Annotation> A getClassAnnotation(Class<A> a, Class clazz, Locatable srcPos) { return LocatableAnnotation.create(((Class<?>)clazz).getAnnotation(a),srcPos); }
public <A extends Annotation> A getFieldAnnotation(Class<A> annotation, Field field, Locatable srcPos) { return LocatableAnnotation.create(field.getAnnotation(annotation),srcPos); }
public <A extends Annotation> A getMethodAnnotation(Class<A> annotation, Method method, Locatable srcPos) { return LocatableAnnotation.create(method.getAnnotation(annotation),srcPos); }
public <A extends Annotation> A getMethodParameterAnnotation(Class<A> annotation, Method method, int paramIndex, Locatable srcPos) { Annotation[] pa = method.getParameterAnnotations()[paramIndex]; for( Annotation a : pa ) { if(a.annotationType()==annotation) return LocatableAnnotation.create((A)a,srcPos); } return null; }
public <A extends Annotation> A getPackageAnnotation(Class<A> a, Class clazz, Locatable srcPos) { Package p = clazz.getPackage(); if(p==null) return null; Map<Package,Annotation> cache = packageCache.get(a); if(cache==null) { cache = new HashMap<Package,Annotation>(); packageCache.put(a,cache); } if(cache.containsKey(p)) return (A)cache.get(p); else { A ann = LocatableAnnotation.create(p.getAnnotation(a),srcPos); cache.put(p,ann); return ann; } }
public Annotation[] getAllMethodAnnotations(Method method, Locatable srcPos) { Annotation[] r = method.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public Annotation[] getAllFieldAnnotations(Field field, Locatable srcPos) { Annotation[] r = field.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public <A extends Annotation> A getFieldAnnotation(Class<A> annotation, Field field, Locatable srcPos) { return LocatableAnnotation.create(field.getAnnotation(annotation),srcPos); }
public <A extends Annotation> A getClassAnnotation(Class<A> a, Class clazz, Locatable srcPos) { return LocatableAnnotation.create(((Class<?>)clazz).getAnnotation(a),srcPos); }
public <A extends Annotation> A getMethodAnnotation(Class<A> annotation, Method method, Locatable srcPos) { return LocatableAnnotation.create(method.getAnnotation(annotation),srcPos); }
public <A extends Annotation> A getMethodParameterAnnotation(Class<A> annotation, Method method, int paramIndex, Locatable srcPos) { Annotation[] pa = method.getParameterAnnotations()[paramIndex]; for( Annotation a : pa ) { if(a.annotationType()==annotation) return LocatableAnnotation.create((A)a,srcPos); } return null; }
public <A extends Annotation> A getPackageAnnotation(Class<A> a, Class clazz, Locatable srcPos) { Package p = clazz.getPackage(); if(p==null) return null; Map<Package,Annotation> cache = packageCache.get(a); if(cache==null) { cache = new HashMap<Package,Annotation>(); packageCache.put(a,cache); } if(cache.containsKey(p)) return (A)cache.get(p); else { A ann = LocatableAnnotation.create(p.getAnnotation(a),srcPos); cache.put(p,ann); return ann; } }
public Annotation[] getAllFieldAnnotations(Field field, Locatable srcPos) { Annotation[] r = field.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public Annotation[] getAllMethodAnnotations(Method method, Locatable srcPos) { Annotation[] r = method.getAnnotations(); for( int i=0; i<r.length; i++ ) { r[i] = LocatableAnnotation.create(r[i],srcPos); } return r; }
public <A extends Annotation> A getMethodParameterAnnotation(Class<A> annotation, Method method, int paramIndex, Locatable srcPos) { Annotation[] pa = method.getParameterAnnotations()[paramIndex]; for( Annotation a : pa ) { if(a.annotationType()==annotation) return LocatableAnnotation.create((A)a,srcPos); } return null; }
public <A extends Annotation> A getClassAnnotation(Class<A> annotation, Class clazz, Locatable srcPos) { Annotation proxy = getProxy(annotation, clazz); if (proxy != null) { return annotation.cast(proxy); } return LocatableAnnotation.create(((Class<?>)clazz).getAnnotation(annotation), srcPos); }
public Annotation[] getAllMethodAnnotations(Method method, Locatable srcPos) { final AnnotatedElement annotatedElement = getAnnotatedElement(method); Annotation[] r = annotatedElement.getAnnotations(); for (int i = 0; i < r.length; i++) { r[i] = LocatableAnnotation.create(r[i], srcPos); } return r; }
public <A extends Annotation> A getMethodAnnotation(Class<A> annotation, Method method, Locatable srcPos) { A proxy = annotation.cast(getProxy(annotation, method)); if (proxy != null) { return proxy; } return LocatableAnnotation.create(method.getAnnotation(annotation), srcPos); }