Class MockBean.Builder<T>

java.lang.Object
org.jboss.weld.junit.MockBean.Builder<T>
Type Parameters:
T -
Enclosing class:
MockBean<T>

public static class MockBean.Builder<T> extends Object
A builder instance should not be reused nor shared.
Author:
Martin Kouba
  • Method Details

    • beanClass

      public MockBean.Builder<T> beanClass(Class<?> beanClass)
      Parameters:
      beanClass -
      Returns:
      self
      See Also:
      • Bean.getBeanClass()
    • scope

      public MockBean.Builder<T> scope(Class<? extends Annotation> scope)
      Parameters:
      scope -
      Returns:
      self
      See Also:
      • BeanAttributes.getScope()
    • name

      public MockBean.Builder<T> name(String name)
      Parameters:
      name -
      Returns:
      self
      See Also:
      • BeanAttributes.getName()
    • types

      public MockBean.Builder<T> types(Type... types)
      Parameters:
      types -
      Returns:
      self
      See Also:
      • BeanAttributes.getTypes()
    • types

      public MockBean.Builder<T> types(Set<Type> types)
      Parameters:
      types -
      Returns:
      self
    • addType

      public MockBean.Builder<T> addType(Type type)
      Parameters:
      type -
      Returns:
      self
    • qualifiers

      public MockBean.Builder<T> qualifiers(Annotation... qualifiers)
      Parameters:
      qualifiers -
      Returns:
      self
      See Also:
      • BeanAttributes.getQualifiers()
    • addQualifier

      public MockBean.Builder<T> addQualifier(Annotation qualifier)
      Parameters:
      qualifier -
      Returns:
      self
    • alternative

      public MockBean.Builder<T> alternative(boolean value)
      Parameters:
      value -
      Returns:
      self
      See Also:
      • BeanAttributes.isAlternative()
    • priority

      public MockBean.Builder<T> priority(int priority)
      Programmatic equivalent to to putting Priority annotation on a bean class. Allows for globally enabled alternatives.
      Parameters:
      priority -
      Returns:
      self
      See Also:
      • Prioritized.getPriority()
    • globallySelectedAlternative

      public MockBean.Builder<T> globallySelectedAlternative(int priority)
      This beans is a globally enabled alternative with a priority equal to its method parameter. Calling this method is a shortcut for priority(int) and alternative(boolean)
      Parameters:
      priority -
      Returns:
      self
    • selectedAlternative

      public MockBean.Builder<T> selectedAlternative()
      The bean is an alternative and should be automatically selected for the synthetic bean archive.

      Users are encouraged to specify beanClass(Class) when using this method. The bean class is used to determine which alternative beans are selected for a bean archive. By default, all mock beans share the same bean class - org.jboss.weld.junit.WeldCDIExtension.

      Returns:
      self
      See Also:
    • selectedAlternative

      public MockBean.Builder<T> selectedAlternative(Class<?> beanClass)
      The bean has the given bean class, is an alternative and should be automatically selected for the synthetic bean archive.
      Parameters:
      beanClass -
      Returns:
      self
      See Also:
    • stereotypes

      public MockBean.Builder<T> stereotypes(Class<? extends Annotation>... stereotypes)
      Parameters:
      stereotypes -
      Returns:
      self
      See Also:
      • BeanAttributes.getStereotypes()
    • addStereotype

      public MockBean.Builder<T> addStereotype(Class<? extends Annotation> stereotype)
      Parameters:
      stereotype -
      Returns:
      self
    • creating

      public MockBean.Builder<T> creating(T instance)
      Each invocation of Contextual.create(CreationalContext) will return the same instance.
      Parameters:
      instance -
      Returns:
      self
    • useUnmanaged

      public MockBean.Builder<T> useUnmanaged(Class<T> beanClass)
      Use Unmanaged to create/destroy the bean instance.

      NOTE: CreationalContext#toString() is used as a key in a map and therefore must be unique for the lifetime of a bean instance. Weld implementation fulfills this requirement.

      Returns:
      self
      See Also:
      • Unmanaged.UnmanagedInstance
    • create

      public MockBean.Builder<T> create(MockBean.CreateFunction<T> callback)
      Parameters:
      callback -
      Returns:
      self
      See Also:
      • Contextual.create(CreationalContext)
    • destroy

      public MockBean.Builder<T> destroy(MockBean.DestroyFunction<T> callback)
      Parameters:
      callback -
      Returns:
      self
      See Also:
      • Contextual.destroy(Object, CreationalContext)
    • build

      public MockBean<T> build()
      Returns:
      a new MockBean instance
      Throws:
      IllegalStateException - If a create callback is not set