/*
* JBoss, Home of Professional Open Source
* Copyright 2010, Red Hat, Inc., and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jboss.weld.tests.extensions;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
import javax.enterprise.inject.spi.BeforeBeanDiscovery;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
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;
@ApplicationScoped
public class OtherObserver {
private boolean allBeforeBeanDiscovery;
private boolean allAfterBeanDiscovery;
private boolean allAfterDeploymentValidation;
private boolean allProcessBean;
private boolean allProcessInjectionTarget;
private boolean allProcessManagedBean;
private boolean allProcessObserverMethod;
private boolean allProcessProducer;
private boolean allProcessProducerField;
private boolean allProcessProducerMethod;
private boolean allProcessSession;
private boolean allProcessAnnotatedType;
private boolean beforeBeanDiscovery;
private boolean afterBeanDiscovery;
private boolean afterDeploymentValidation;
private boolean processBean;
private boolean processInjectionTarget;
private boolean processManagedBean;
private boolean processObserverMethod;
private boolean processProducer;
private boolean processProducerField;
private boolean processProducerMethod;
private boolean processSessionBean;
private boolean processAnnotatedType;
public void observeAll(@Observes Object event) {
if (event instanceof BeforeBeanDiscovery) {
allBeforeBeanDiscovery = true;
}
if (event instanceof AfterBeanDiscovery) {
allAfterBeanDiscovery = true;
}
if (event instanceof AfterDeploymentValidation) {
allAfterDeploymentValidation = true;
}
if (event instanceof ProcessBean<?> && !(event instanceof ProcessProducerField<?, ?> || event instanceof ProcessProducerMethod<?, ?> || event instanceof ProcessManagedBean<?> || event instanceof ProcessSessionBean<?>)) {
allProcessBean = true;
}
if (event instanceof ProcessInjectionTarget<?>) {
allProcessInjectionTarget = true;
}
if (event instanceof ProcessManagedBean<?>) {
allProcessManagedBean = true;
}
if (event instanceof ProcessObserverMethod<?, ?>) {
allProcessObserverMethod = true;
}
if (event instanceof ProcessProducer<?, ?>) {
allProcessProducer = true;
}
if (event instanceof ProcessProducerField<?, ?>) {
allProcessProducerField = true;
}
if (event instanceof ProcessProducerMethod<?, ?>) {
allProcessProducerMethod = true;
}
if (event instanceof ProcessSessionBean<?>) {
allProcessSession = true;
}
if (event instanceof ProcessAnnotatedType<?>) {
allProcessAnnotatedType = true;
}
}
public void observeBeforeBeanDiscovery(@Observes BeforeBeanDiscovery event) {
beforeBeanDiscovery = true;
}
public void observeAfterBeanDiscovery(@Observes AfterBeanDiscovery event) {
afterBeanDiscovery = true;
}
public void observeAfterDeploymentValidation(@Observes AfterDeploymentValidation event) {
afterDeploymentValidation = true;
}
public void observeProcessBean(@Observes ProcessBean<?> event) {
processBean = true;
}
public void observeProcessInjectionTarget(@Observes ProcessInjectionTarget<?> event) {
processInjectionTarget = true;
}
public void observeProcessProducer(@Observes ProcessProducer<?, ?> event) {
processProducer = true;
}
public void observeProcessProducerMethod(@Observes ProcessProducerMethod<?, ?> event) {
processProducerMethod = true;
}
public void observeProcessProducerField(@Observes ProcessProducerField<?, ?> event) {
processProducerField = true;
}
public void observeProcessObserverMethod(@Observes ProcessObserverMethod<?, ?> event) {
processObserverMethod = true;
}
public void observeProcessManagedBean(@Observes ProcessManagedBean<?> event) {
processManagedBean = true;
}
public void observeProcessSessionBean(@Observes ProcessSessionBean<?> event) {
processSessionBean = true;
}
public void observeProcessAnnotatedType(@Observes ProcessAnnotatedType<?> event) {
processAnnotatedType = true;
}
public boolean isAllBeforeBeanDiscovery() {
return allBeforeBeanDiscovery;
}
public boolean isAllAfterBeanDiscovery() {
return allAfterBeanDiscovery;
}
public boolean isAllAfterDeploymentValidation() {
return allAfterDeploymentValidation;
}
public boolean isAllProcessBean() {
return allProcessBean;
}
public boolean isAllProcessInjectionTarget() {
return allProcessInjectionTarget;
}
public boolean isAllProcessManagedBean() {
return allProcessManagedBean;
}
public boolean isAllProcessObserverMethod() {
return allProcessObserverMethod;
}
public boolean isAllProcessProducer() {
return allProcessProducer;
}
public boolean isAllProcessProducerField() {
return allProcessProducerField;
}
public boolean isAllProcessProducerMethod() {
return allProcessProducerMethod;
}
public boolean isAllProcessSessionBean() {
return allProcessSession;
}
public boolean isAllProcessAnnotatedType() {
return allProcessAnnotatedType;
}
public boolean isBeforeBeanDiscovery() {
return beforeBeanDiscovery;
}
public boolean isAfterBeanDiscovery() {
return afterBeanDiscovery;
}
public boolean isAfterDeploymentValidation() {
return afterDeploymentValidation;
}
public boolean isProcessBean() {
return processBean;
}
public boolean isProcessInjectionTarget() {
return processInjectionTarget;
}
public boolean isProcessManagedBean() {
return processManagedBean;
}
public boolean isProcessObserverMethod() {
return processObserverMethod;
}
public boolean isProcessProducer() {
return processProducer;
}
public boolean isProcessProducerField() {
return processProducerField;
}
public boolean isProcessProducerMethod() {
return processProducerMethod;
}
public boolean isProcessSessionBean() {
return processSessionBean;
}
public boolean isProcessAnnotatedType() {
return processAnnotatedType;
}
}