@API(status=MAINTAINED,
     since="1.2.0")
public interface DomainContext
Domain(MyDomainContext.class). They must have a constructor without parameters
 to be usable in this way.
 Lifecycle: Instantiate exactly once per property, then initialize(PropertyLifecycleContext) will be called before providers and configurators will be retrieved.
Most implementing class will subclass DomainContextBase.
Domain, 
DomainContextBase| Modifier and Type | Interface and Description | 
|---|---|
| static class  | DomainContext.DomainContextFacade | 
| static class  | DomainContext.Global | 
| Modifier and Type | Method and Description | 
|---|---|
| java.util.Collection<ArbitraryConfigurator> | getArbitraryConfigurators() | 
| java.util.Collection<ArbitraryProvider> | getArbitraryProviders() | 
| default java.util.Collection<SampleReportingFormat> | getReportingFormats()Provide additional reporting formats that are used
 to format objects that are reported in property results or when using a Reporter. | 
| static DomainContext | global() | 
| default void | initialize(PropertyLifecycleContext context)This method will be called exactly once after instantiation of a given domain context class. | 
| default void | setDefaultPriority(int priority) | 
@API(status=INTERNAL) static DomainContext global()
default void setDefaultPriority(int priority)
java.util.Collection<ArbitraryProvider> getArbitraryProviders()
java.util.Collection<ArbitraryConfigurator> getArbitraryConfigurators()
@API(status=MAINTAINED,
     since="1.6.4")
default java.util.Collection<SampleReportingFormat> getReportingFormats()
@API(status=MAINTAINED,
     since="1.5.4")
default void initialize(PropertyLifecycleContext context)
Override this message if your domain context needs access to the context of a property.