Class ExtensionUtils
- java.lang.Object
-
- org.junit.jupiter.engine.descriptor.ExtensionUtils
-
final class ExtensionUtils extends java.lang.ObjectCollection of utilities for working with extensions and the extension registry.- Since:
- 5.1
- See Also:
ExtensionRegistrar,MutableExtensionRegistry,ExtendWith,RegisterExtension
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Comparator<java.lang.reflect.Field>orderComparator
-
Constructor Summary
Constructors Modifier Constructor Description privateExtensionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static intgetOrder(java.lang.reflect.Field field)(package private) static MutableExtensionRegistrypopulateNewExtensionRegistryFromExtendWithAnnotation(MutableExtensionRegistry parentRegistry, java.lang.reflect.AnnotatedElement annotatedElement)Populate a newMutableExtensionRegistryfrom extension types declared via@ExtendWithon the suppliedAnnotatedElement.(package private) static voidregisterExtensionsFromConstructorParameters(ExtensionRegistrar registrar, java.lang.Class<?> clazz)Register extensions using the supplied registrar from parameters in the declared constructor of the supplied class that are annotated with@ExtendWith.(package private) static voidregisterExtensionsFromExecutableParameters(ExtensionRegistrar registrar, java.lang.reflect.Executable executable)Register extensions using the supplied registrar from parameters in the suppliedExecutable(i.e., aConstructororMethod) that are annotated with@ExtendWith.(package private) static voidregisterExtensionsFromFields(ExtensionRegistrar registrar, java.lang.Class<?> clazz, java.lang.Object instance)Register extensions using the supplied registrar from fields in the supplied class that are annotated with@ExtendWithor@RegisterExtension.private static java.util.stream.Stream<java.lang.Class<? extends org.junit.jupiter.api.extension.Extension>>streamExtensionTypes(java.lang.reflect.AnnotatedElement annotatedElement)private static java.util.stream.Stream<java.lang.Class<? extends org.junit.jupiter.api.extension.Extension>>streamExtensionTypes(java.util.List<org.junit.jupiter.api.extension.ExtendWith> extendWithAnnotations)
-
-
-
Method Detail
-
populateNewExtensionRegistryFromExtendWithAnnotation
static MutableExtensionRegistry populateNewExtensionRegistryFromExtendWithAnnotation(MutableExtensionRegistry parentRegistry, java.lang.reflect.AnnotatedElement annotatedElement)
Populate a newMutableExtensionRegistryfrom extension types declared via@ExtendWithon the suppliedAnnotatedElement.- Parameters:
parentRegistry- the parent extension registry to set in the newly created registry; nevernullannotatedElement- the annotated element on which to search for declarations of@ExtendWith; nevernull- Returns:
- the new extension registry; never
null - Since:
- 5.0
-
registerExtensionsFromFields
static void registerExtensionsFromFields(ExtensionRegistrar registrar, java.lang.Class<?> clazz, java.lang.Object instance)
Register extensions using the supplied registrar from fields in the supplied class that are annotated with@ExtendWithor@RegisterExtension.The extensions will be sorted according to
@Ordersemantics prior to registration.- Parameters:
registrar- the registrar with which to register the extensions; nevernullclazz- the class or interface in which to find the fields; nevernullinstance- the instance of the supplied class; may benullwhen searching forstaticfields in the class
-
registerExtensionsFromConstructorParameters
static void registerExtensionsFromConstructorParameters(ExtensionRegistrar registrar, java.lang.Class<?> clazz)
Register extensions using the supplied registrar from parameters in the declared constructor of the supplied class that are annotated with@ExtendWith.- Parameters:
registrar- the registrar with which to register the extensions; nevernullclazz- the class in which to find the declared constructor; nevernull- Since:
- 5.8
-
registerExtensionsFromExecutableParameters
static void registerExtensionsFromExecutableParameters(ExtensionRegistrar registrar, java.lang.reflect.Executable executable)
Register extensions using the supplied registrar from parameters in the suppliedExecutable(i.e., aConstructororMethod) that are annotated with@ExtendWith.- Parameters:
registrar- the registrar with which to register the extensions; nevernullexecutable- the constructor or method whose parameters should be searched; nevernull- Since:
- 5.8
-
streamExtensionTypes
private static java.util.stream.Stream<java.lang.Class<? extends org.junit.jupiter.api.extension.Extension>> streamExtensionTypes(java.lang.reflect.AnnotatedElement annotatedElement)
- Since:
- 5.8
-
streamExtensionTypes
private static java.util.stream.Stream<java.lang.Class<? extends org.junit.jupiter.api.extension.Extension>> streamExtensionTypes(java.util.List<org.junit.jupiter.api.extension.ExtendWith> extendWithAnnotations)
- Since:
- 5.8
-
getOrder
private static int getOrder(java.lang.reflect.Field field)
- Since:
- 5.4
-
-