Package org.jboss.errai.cdi.client

Source Code of org.jboss.errai.cdi.client.EventProvider

package org.jboss.errai.cdi.client;

import org.jboss.errai.cdi.client.api.CDI;
import org.jboss.errai.cdi.client.api.Event;
import org.jboss.errai.ioc.client.api.ContextualTypeProvider;
import org.jboss.errai.ioc.client.api.Provider;
import org.jboss.errai.ioc.client.api.TypeProvider;

import javax.enterprise.context.ApplicationScoped;
import java.lang.annotation.Annotation;

/**
* User: christopherbrock
* Date: 27-Jul-2010
* Time: 4:24:02 PM
*/
@Provider
@ApplicationScoped
public class EventProvider implements ContextualTypeProvider<Event<?>> {

    public Event<?> provide(final Class[] typeargs) {
        return new Event() {
            private Class eventType = (typeargs.length == 1 ? typeargs[0] : Object.class);

            public void fire(Object event) {
                if (event == null) return;

                CDI.fireEvent(event);
            }

            public Event select(Annotation... qualifiers) {
                throw new RuntimeException("Not implemented");
            }

            public Event select(Class subtype, Annotation... qualifiers) {
                throw new RuntimeException("Not implemented");
            }

            public Class getEventType() {
                return eventType;
            }
        };
    }
}
TOP

Related Classes of org.jboss.errai.cdi.client.EventProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.