@API(status=STABLE,
since="5.0")
public interface Extension
An Extension can be registered declaratively via
@ExtendWith, programmatically via
@RegisterExtension, or automatically via
the ServiceLoader mechanism. For details on the latter,
consult the User Guide.
Extension implementations must have a default constructor if
registered via @ExtendWith or the ServiceLoader. When
registered via @ExtendWith the default constructor is not required
to be public. When registered via the ServiceLoader the
default constructor must be public. When registered via
@RegisterExtension the extension's constructors typically must be
public unless the extension provides static factory methods
or a builder API as an alternative to constructors.