All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jqwik.api.domains.DomainContext Maven / Gradle / Ivy

There is a newer version: 1.9.2
Show newest version
package net.jqwik.api.domains;

import java.util.*;

import org.apiguardian.api.*;

import net.jqwik.api.*;
import net.jqwik.api.configurators.*;
import net.jqwik.api.providers.*;

import static org.apiguardian.api.API.Status.*;

/**
 * Class that implement this interface are used to annotate property methods or containers like this:
 * {@code Domain(MyDomainContext.class)}. They must have a constructor without parameters
 * to be usable this way.
 *
 * 

* Most implementing class will subclass {@linkplain AbstractDomainContextBase}. *

* * @see Domain * @see AbstractDomainContextBase */ @API(status = MAINTAINED, since = "1.2.0") public interface DomainContext { static DomainContext global() { return DomainContextFacade.implementation.global(); } default void setDefaultPriority(int priority) { // ignore } @API(status = MAINTAINED, since = "1.1") class Global implements DomainContext { @Override public List getArbitraryProviders() { return global().getArbitraryProviders(); } @Override public List getArbitraryConfigurators() { return global().getArbitraryConfigurators(); } } @API(status = INTERNAL) abstract class DomainContextFacade { private static DomainContextFacade implementation; static { implementation = FacadeLoader.load(DomainContextFacade.class); } public abstract DomainContext global(); } List getArbitraryProviders(); List getArbitraryConfigurators(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy