Annotation Interface ClassImport


@Target(TYPE) @Retention(SOURCE) public @interface ClassImport
Allows importing an already compiled set of classes and processed them like a non-compiled class. The difference between Import and this annotation, is that classes added using Import are not processed using the type visitors.

Note that this annotation is likely to require more use of reflection if package protected members require injection.

Since:
4.9
Author:
Denis Stepanov
  • Element Details

    • classes

      Class<?>[] classes
      Returns:
      The classes to import.
      Default:
      {}
    • classNames

      @AliasFor(member="classes") String[] classNames
      Alternative way to specify the value for `classes` when the class cannot be referenced.
      Returns:
      The class names to generate introspections for
      Default:
      {}
    • packages

      String[] packages
      A list of package names to import.

      Note when classes() or classNames() is specified this attribute is ignored

      Returns:
      The packages to import.
      Default:
      {}
    • annotate

      Class<? extends Annotation>[] annotate
      Annotate every class with the given annotation types.
      Returns:
      The annotations
      Default:
      {}
    • annotateNames

      @AliasFor(member="annotate") String[] annotateNames
      Alternative way to specify the value for `annotate` when the class cannot be referenced.
      Returns:
      The annotation names
      Default:
      {}
    • excludedAnnotations

      Class<? extends Annotation>[] excludedAnnotations
      The annotation types to exclude in a search when specifying the packages() attribute (this attribute has no effect when combined with classes()).
      Returns:
      The annotation types
      Default:
      {}
    • includedAnnotations

      Class<? extends Annotation>[] includedAnnotations
      The annotation types that if present on the property cause only the properties with the specified annotation to be included in the result.
      Returns:
      The annotation types
      Default:
      {}
    • targetPackage

      String targetPackage
      Returns:
      The package to write any kind of generated metadata to. By default, uses the class package.
      Default:
      ""