ehcache

net.sf.ehcache.pool.sizeof.filter
Class AnnotationProxyFactory

java.lang.Object
  extended by net.sf.ehcache.pool.sizeof.filter.AnnotationProxyFactory

public final class AnnotationProxyFactory
extends Object

Allows you to transform the type of your custom annotation to a reference annotation type. It can come handy when you want to allow the consumers of your library not to depend on your API because of the annotations, still allowing them to use the original annotation methods. Example : //getting a custom annotation from a class my.Annotation customAnnotation = klazz.getAnnotation(my.Annotation.class); //if this annotation is "similar" (duck-typing, same methods) to the reference one, I can get a proxy to it, whose type is the reference annotation ehcache.Annotation annotation = AnnotationProxyFactory.getAnnotationProxy(customAnnotation, ehcache.Annotation.class); //so my library can apply the behavior when the default annotation is used

Author:
Anthony Dahanne

Method Summary
static
<T extends Annotation>
T
getAnnotationProxy(Annotation customAnnotation, Class<T> referenceAnnotation)
          Returns a proxy on the customAnnotation, having the same type than the referenceAnnotation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getAnnotationProxy

public static <T extends Annotation> T getAnnotationProxy(Annotation customAnnotation,
                                                          Class<T> referenceAnnotation)
Returns a proxy on the customAnnotation, having the same type than the referenceAnnotation

Parameters:
customAnnotation -
referenceAnnotation -
Returns:
proxied customAnnotation with the type of referenceAnnotation

ehcache

Copyright 2001-2014, Terracotta, Inc.