protected void validateRIBean ( CommonBean < ? > bean , BeanManagerImpl beanManager , Collection < CommonBean < ? > > specializedBeans ) { validateGeneralBean ( bean , beanManager ) ; if ( bean instanceof NewBean ) { return ; } if ( bean instanceof DecorableBean ) { validateDecorators ( beanManager , ( DecorableBean < ? > ) bean ) ; } if ( ( bean instanceof AbstractClassBean < ? > ) ) { AbstractClassBean < ? > classBean = ( AbstractClassBean < ? > ) bean ; // validate CDI-defined interceptors if ( classBean . hasInterceptors ( ) ) { validateInterceptors ( beanManager , classBean ) ; } } // for each producer bean validate its disposer method if ( bean instanceof AbstractProducerBean < ? , ? , ? > ) { AbstractProducerBean < ? , ? , ? > producerBean = Reflections . < AbstractProducerBean < ? , ? , ? > > cast ( bean ) ; if ( producerBean . getProducer ( ) instanceof AbstractMemberProducer < ? , ? > ) { AbstractMemberProducer < ? , ? > producer = Reflections . < AbstractMemberProducer < ? , ? > > cast ( producerBean . getProducer ( ) ) ; if ( producer . getDisposalMethod ( ) != null ) { for ( InjectionPoint ip : producer . getDisposalMethod ( ) . getInjectionPoints ( ) ) { // pass the producer bean instead of the disposal method bean validateInjectionPointForDefinitionErrors ( ip , null , beanManager ) ; validateMetadataInjectionPoint ( ip , null , ValidatorLogger . INJECTION_INTO_DISPOSER_METHOD ) ; validateEventMetadataInjectionPoint ( ip ) ; validateInjectionPointForDeploymentProblems ( ip , null , beanManager ) ; } } } } }
Validate an RIBean . This includes validating whether two beans specialize the same bean