Class AdditionalBeanBuildItem

java.lang.Object
io.quarkus.builder.item.BuildItem
io.quarkus.builder.item.MultiBuildItem
io.quarkus.arc.deployment.AdditionalBeanBuildItem

public final class AdditionalBeanBuildItem extends io.quarkus.builder.item.MultiBuildItem
This build item is used to specify one or more additional bean classes to be analyzed during bean discovery.

By default, the resulting beans may be removed if they are considered unused and ArcConfig.removeUnusedBeans is enabled. You can change the default behavior by setting the removable to false and via AdditionalBeanBuildItem.Builder.setUnremovable().

An additional bean may have the scope defaulted via defaultScope and AdditionalBeanBuildItem.Builder.setDefaultScope(DotName). The default scope is only used if there is no scope declared on the bean class. The default scope should be used in cases where a bean class source is not controlled by the extension and the scope annotation cannot be declared directly on the class.

Generated Classes

This build item should never be produced for a generated class - GeneratedBeanBuildItem and GeneratedBeanGizmoAdaptor should be used instead.
  • Constructor Details

    • AdditionalBeanBuildItem

      public AdditionalBeanBuildItem(String... beanClasses)
    • AdditionalBeanBuildItem

      public AdditionalBeanBuildItem(Class<?>... beanClasses)
  • Method Details

    • builder

      public static AdditionalBeanBuildItem.Builder builder()
    • unremovableOf

      @CheckReturnValue public static AdditionalBeanBuildItem unremovableOf(Class<?> beanClass)
      Convenient factory method to create an unremovable build item for a single bean class.
      Parameters:
      beanClass -
      Returns:
      a new build item
    • unremovableOf

      @CheckReturnValue public static AdditionalBeanBuildItem unremovableOf(String beanClass)
      Convenient factory method to create an unremovable build item for a single bean class.
      Parameters:
      beanClass -
      Returns:
      a new build item
    • getBeanClasses

      public List<String> getBeanClasses()
    • contains

      public boolean contains(String beanClass)
    • isRemovable

      public boolean isRemovable()
    • getDefaultScope

      public org.jboss.jandex.DotName getDefaultScope()