package org.jboss.weld.tests.extensions; import javax.enterprise.event.Observes; import javax.enterprise.inject.spi.Extension; import javax.enterprise.inject.spi.ProcessBean; import javax.enterprise.inject.spi.ProcessInjectionTarget; import javax.enterprise.inject.spi.ProcessManagedBean; import javax.enterprise.inject.spi.ProcessObserverMethod; import javax.enterprise.inject.spi.ProcessProducer; import javax.enterprise.inject.spi.ProcessProducerField; import javax.enterprise.inject.spi.ProcessProducerMethod; import javax.enterprise.inject.spi.ProcessSessionBean; public class TrainlineExtension implements Extension { private boolean processTrainBean; private boolean processStationBean; private boolean processSignalBoxBean; private boolean processTrainManagedBean; private boolean processStationManagedBean; private boolean processSignalBoxManagedBean; private boolean processTrainInjectionTarget; private boolean processStationInjectionTarget; private boolean processSignalBoxInjectionTarget; private boolean processDriverBean; private boolean processPassengerBean; private boolean processSignalManBean; private boolean processDriverProducer; private boolean processPassengerProducer; private boolean processSignalManProducer; private boolean processDriverProducerMethod; private boolean processPassengerProducerMethod; private boolean processSignalManProducerMethod; private boolean processFerretBean; private boolean processCatBean; private boolean processMouseBean; private boolean processFerretProducer; private boolean processCatProducer; private boolean processMouseProducer; private boolean processFerretProducerField; private boolean processCatProducerField; private boolean processMouseProducerField; private boolean processObseversCoalSupply; private boolean processObseversSignals; private boolean processObseversFatController; private boolean processStokerBean; private boolean processGuardBean; private boolean processStokerProducer; private boolean processGuardProducer; private boolean processStokerProducerMethod; private boolean processGuardProducerMethod; private boolean processRabbitBean; private boolean processWeaselBean; private boolean processRabbitProducer; private boolean processWeaselProducer; private boolean processRabbitProducerField; private boolean processWeaselProducerField; private boolean processSafetyInterceptor; private boolean processEngineeringWorks; private boolean processTerminusSessionBean; private boolean processTerminusInjectionTarget; private boolean processTerminusBean; public void processSafetyInterceptor(@Observes ProcessBean<SafetyInterceptor> event) { processSafetyInterceptor = true; } public void processEngineeringWorks(@Observes ProcessBean<EngineeringWorks> event) { processEngineeringWorks = true; } public void processTrainBean(@Observes ProcessBean<Train> event) { processTrainBean = true; } public void processStationBean(@Observes ProcessBean<RuralStation> event) { processStationBean = true; } public void processSignalBoxBean(@Observes ProcessBean<SignalBox> event) { processSignalBoxBean = true; } public void processTrainInjectionTarget(@Observes ProcessInjectionTarget<Train> event) { processTrainInjectionTarget = true; } public void processStationInjectionTarget(@Observes ProcessInjectionTarget<RuralStation> event) { processStationInjectionTarget = true; } public void processSignalBoxInjectionTarget(@Observes ProcessInjectionTarget<SignalBox> event) { processSignalBoxInjectionTarget = true; } public void processTrainManagedBean(@Observes ProcessManagedBean<Train> event) { processTrainManagedBean = true; } public void processStationManagedBean(@Observes ProcessManagedBean<RuralStation> event) { processStationManagedBean = true; } public void processTerminusBean(@Observes ProcessBean<Terminus> event) { processTerminusBean = true; } public void processTerminusInjectionTarget(@Observes ProcessInjectionTarget<Terminus> event) { processTerminusInjectionTarget = true; } public void processTerminusSessionBean(@Observes ProcessSessionBean<Terminus> event) { processTerminusSessionBean = true; } public void processSignalBoxManagedBean(@Observes ProcessManagedBean<SignalBox> event) { processSignalBoxManagedBean = true; } // This is intentionally wrong, there are bugs in the API that mean generic type parameter ordering is wrong for ProcessProducerField and ProcessProducerMethod public void processDriverBean(@Observes ProcessBean<Train> event) { processDriverBean = true; } public void processPassengerBean(@Observes ProcessBean<Passenger> event) { processPassengerBean = true; } public void processSignalManBean(@Observes ProcessBean<SignalMan> event) { processSignalManBean = true; } public void processDriverProducer(@Observes ProcessProducer<Train, Driver> event) { processDriverProducer = true; } public void processPassengerProducer(@Observes ProcessProducer<RuralStation, Passenger> event) { processPassengerProducer = true; } public void processSignalManProducer(@Observes ProcessProducer<SignalBox, SignalMan> event) { processSignalManProducer = true; } public void processDriverProducerMethod(@Observes ProcessProducerMethod<Driver, Train> event) { processDriverProducerMethod = true; } public void processPassengerProducerMethod(@Observes ProcessProducerMethod<Passenger, RuralStation> event) { processPassengerProducerMethod = true; } public void processSignalManProducerMethod(@Observes ProcessProducerMethod<SignalMan, SignalBox> event) { processSignalManProducerMethod = true; } // This is intentionally wrong, there are bugs in the API that mean generic type parameter ordering is wrong for ProcessProducerField and ProcessProducerMethod public void processFerretBean(@Observes ProcessBean<Train> event) { processFerretBean = true; } public void processCatBean(@Observes ProcessBean<Cat> event) { processCatBean = true; } public void processMouseBean(@Observes ProcessBean<Mouse> event) { processMouseBean = true; } public void processFerretProducer(@Observes ProcessProducer<Train, Ferret> event) { processFerretProducer = true; } public void processCatProducer(@Observes ProcessProducer<RuralStation, Cat> event) { processCatProducer = true; } public void processMouseProducer(@Observes ProcessProducer<SignalBox, Mouse> event) { processMouseProducer = true; } public void processFerretProducerField(@Observes ProcessProducerField<Ferret, Train> event) { processFerretProducerField = true; } public void processCatProducerField(@Observes ProcessProducerField<Cat, RuralStation> event) { processCatProducerField = true; } public void processStokerBean(@Observes ProcessBean<Stoker> event) { processStokerBean = true; } public void processGuardBean(@Observes ProcessBean<Guard> event) { processGuardBean = true; } public void processStokerProducer(@Observes ProcessProducer<Train, Stoker> event) { processStokerProducer = true; } public void processGuardProducer(@Observes ProcessProducer<RuralStation, Guard> event) { processGuardProducer = true; } public void processStokerProducerMethod(@Observes ProcessProducerMethod<Train, Stoker> event) { processStokerProducerMethod = true; } public void processGuardProducerMethod(@Observes ProcessProducerMethod<RuralStation, Guard> event) { processGuardProducerMethod = true; } public void processRabbitBean(@Observes ProcessBean<Rabbit> event) { processRabbitBean = true; } public void processWeaselBean(@Observes ProcessBean<Weasel> event) { processWeaselBean = true; } public void processRabbitProducer(@Observes ProcessProducer<Train, Rabbit> event) { processRabbitProducer = true; } public void processWeaselProducer(@Observes ProcessProducer<RuralStation, Weasel> event) { processWeaselProducer = true; } public void processRabbitProducerField(@Observes ProcessProducerField<Train, Rabbit> event) { processRabbitProducerField = true; } public void processWeaselProducerField(@Observes ProcessProducerField<RuralStation, Weasel> event) { processWeaselProducerField = true; } public void processMouseProducerField(@Observes ProcessProducerField<SignalBox, Mouse> event) { processMouseProducerField = true; } // This is intentionally wrong, there are bugs in the API that mean generic type parameter ordering is wrong for ProcessProducerField and ProcessProducerMethod public void processObservesCoalSupply(@Observes ProcessObserverMethod<CoalSupply, Train> event) { processObseversCoalSupply = true; } public void processObservesSignals(@Observes ProcessObserverMethod<SignalBox, Signals> event) { processObseversSignals = true; } public void processObservesFatController(@Observes ProcessObserverMethod<RuralStation, FatController> event) { processObseversFatController = true; } public boolean isProcessSignalBoxBean() { return processSignalBoxBean; } public boolean isProcessStationBean() { return processStationBean; } public boolean isProcessTrainBean() { return processTrainBean; } public boolean isProcessSignalBoxInjectionTarget() { return processSignalBoxInjectionTarget; } public boolean isProcessSignalBoxManagedBean() { return processSignalBoxManagedBean; } public boolean isProcessStationInjectionTarget() { return processStationInjectionTarget; } public boolean isProcessStationManagedBean() { return processStationManagedBean; } public boolean isProcessTrainInjectionTarget() { return processTrainInjectionTarget; } public boolean isProcessTrainManagedBean() { return processTrainManagedBean; } public boolean isProcessDriverBean() { return processDriverBean; } public boolean isProcessPassengerBean() { return processPassengerBean; } public boolean isProcessSignalManBean() { return processSignalManBean; } public boolean isProcessDriverProducer() { return processDriverProducer; } public boolean isProcessPassengerProducer() { return processPassengerProducer; } public boolean isProcessSignalManProducer() { return processSignalManProducer; } public boolean isProcessDriverProducerMethod() { return processDriverProducerMethod; } public boolean isProcessPassengerProducerMethod() { return processPassengerProducerMethod; } public boolean isProcessSignalManProducerMethod() { return processSignalManProducerMethod; } public boolean isProcessFerretBean() { return processFerretBean; } public boolean isProcessCatBean() { return processCatBean; } public boolean isProcessMouseBean() { return processMouseBean; } public boolean isProcessFerretProducer() { return processFerretProducer; } public boolean isProcessCatProducer() { return processCatProducer; } public boolean isProcessMouseProducer() { return processMouseProducer; } public boolean isProcessCatProducerField() { return processCatProducerField; } public boolean isProcessFerretProducerField() { return processFerretProducerField; } public boolean isProcessMouseProducerField() { return processMouseProducerField; } public boolean isProcessObseversCoalSupply() { return processObseversCoalSupply; } public boolean isProcessObseversSignals() { return processObseversSignals; } public boolean isProcessObseversFatController() { return processObseversFatController; } public boolean isProcessStokerBean() { return processStokerBean; } public boolean isProcessGuardBean() { return processGuardBean; } public boolean isProcessStokerProducer() { return processStokerProducer; } public boolean isProcessGuardProducer() { return processGuardProducer; } public boolean isProcessStokerProducerMethod() { return processStokerProducerMethod; } public boolean isProcessGuardProducerMethod() { return processGuardProducerMethod; } public boolean isProcessRabbitBean() { return processRabbitBean; } public boolean isProcessWeaselBean() { return processWeaselBean; } public boolean isProcessRabbitProducer() { return processRabbitProducer; } public boolean isProcessWeaselProducer() { return processWeaselProducer; } public boolean isProcessRabbitProducerField() { return processRabbitProducerField; } public boolean isProcessWeaselProducerField() { return processWeaselProducerField; } public boolean isProcessSafetyInterceptor() { return processSafetyInterceptor; } public boolean isProcessEngineeringWorks() { return processEngineeringWorks; } public boolean isProcessTerminusSessionBean() { return processTerminusSessionBean; } public boolean isProcessTerminusInjectionTarget() { return processTerminusInjectionTarget; } public boolean isProcessTerminusBean() { return processTerminusBean; } }