Class UnitsAnnotationClassLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class UnitsAnnotationClassLoader
    extends AnnotationClassLoader
    • Constructor Detail

      • UnitsAnnotationClassLoader

        public UnitsAnnotationClassLoader​(BaseTypeChecker checker)
    • Method Detail

      • isSupportedAnnotationClass

        protected boolean isSupportedAnnotationClass​(java.lang.Class<? extends java.lang.annotation.Annotation> annoClass)
        Custom filter for units annotations:

        This filter will ignore (by returning false) any units annotation which is an alias of another base unit annotation (identified via UnitsMultiple meta-annotation). Alias annotations can still be used in source code; they are converted into a base annotation by UnitsAnnotatedTypeFactory.canonicalAnnotation(AnnotationMirror). This filter simply makes sure that the alias annotations themselves don't become part of the type hierarchy as their base annotations already are in the hierarchy.

        Overrides:
        isSupportedAnnotationClass in class AnnotationClassLoader
        Parameters:
        annoClass - an annotation class
        Returns:
        true if the annotation is supported, false if it isn't