Package io.quarkus.arc.processor
Class BeanProcessor
java.lang.Object
io.quarkus.arc.processor.BeanProcessor
An integrator should create a new instance of the bean processor using the convenient
BeanProcessor.Builder and then invoke the
"processing" methods in the following order:
registerCustomContexts()registerScopes()registerBeans()registerSyntheticInjectionPoints(io.quarkus.arc.processor.BeanRegistrar.RegistrationContext)registerSyntheticObservers()synthesisFinished()initialize(Consumer, List)validate(Consumer)processValidationErrors(io.quarkus.arc.processor.BeanDeploymentValidator.ValidationContext)generateResources(ReflectionRegistration, Set, Consumer, boolean, ExecutorService)
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic BeanProcessor.Builderbuilder()generateResources(ReflectionRegistration reflectionRegistration, Set<String> existingClasses, Consumer<BytecodeTransformer> bytecodeTransformerConsumer, boolean detectUnusedFalsePositives, ExecutorService executor) Predicate<org.jboss.jandex.DotName> voidinitialize(Consumer<BytecodeTransformer> bytecodeTransformerConsumer, List<Predicate<BeanInfo>> additionalUnusedBeanExclusions) process()voidprocessValidationErrors(BeanDeploymentValidator.ValidationContext validationContext) Analyze the deployment and register all beans and observers declared on the classes.voidvoidRegister synthetic injection points from all synthetic beans.voidNotify the bean deployment that all synthetic beans and observers have been registered.validate(Consumer<BytecodeTransformer> bytecodeTransformerConsumer)
-
Field Details
-
injectionPointAnnotationsPredicate
-
-
Method Details
-
builder
-
registerCustomContexts
-
registerScopes
public void registerScopes() -
registerBeans
Analyze the deployment and register all beans and observers declared on the classes. Furthermore, register all synthetic beans provided by bean registrars.Note that synthetic bean configurators may be finished after this method completes, but not later than the
initialize(Consumer, List)is called.- Returns:
- the context applied to
BeanRegistrar
-
registerSyntheticInjectionPoints
Register synthetic injection points from all synthetic beans.- Parameters:
context-
-
registerSyntheticObservers
-
synthesisFinished
public void synthesisFinished()Notify the bean deployment that all synthetic beans and observers have been registered.Must be called after all synthetic bean configurators are finished and before
initialize(Consumer, List). -
initialize
public void initialize(Consumer<BytecodeTransformer> bytecodeTransformerConsumer, List<Predicate<BeanInfo>> additionalUnusedBeanExclusions) - Parameters:
bytecodeTransformerConsumer- Used to register a bytecode transformationadditionalUnusedBeanExclusions- Additional predicates to exclude unused beans
-
validate
public BeanDeploymentValidator.ValidationContext validate(Consumer<BytecodeTransformer> bytecodeTransformerConsumer) - Parameters:
bytecodeTransformerConsumer- Used to register a bytecode transformation- Returns:
- the validation context
-
processValidationErrors
-
generateResources
public List<ResourceOutput.Resource> generateResources(ReflectionRegistration reflectionRegistration, Set<String> existingClasses, Consumer<BytecodeTransformer> bytecodeTransformerConsumer, boolean detectUnusedFalsePositives, ExecutorService executor) throws IOException, InterruptedException, ExecutionException -
getBeanDeployment
-
getAnnotationLiteralProcessor
-
process
-
getInjectionPointAnnotationsPredicate
-