Class DomainContextBase

  • All Implemented Interfaces:
    DomainContext

    @API(status=MAINTAINED,
         since="1.5.2")
    public abstract class DomainContextBase
    extends java.lang.Object
    implements DomainContext
    Base class for convention based implementations of DomainContext

    In subclasses you can:

    • Add methods annotated with Provide and a return type of Arbitrary<T>. The result of an annotated method will then be used as an arbitrary provider for type T.
      Those methods follow the same rules as provider methods in container classes, i.e. they have an optional parameters of type TypeUsage or with annotation ForAll.
    • Add inner classes (static or not static, but not private) that implement ArbitraryProvider. An instance of this class will then be used as providers.
    • Add inner classes (static or not static, but not private) that implement ArbitraryConfigurator. An instance of this class will then be used as configurator.

    Mind that a domain context does not automatically import global providers and configurators. If you want to have them available, you have to add the global domain context to the domain class or at the point of usage like this: @Domain(DomainContext.Global.class).

    See Also:
    DomainContext, Provide