/* AngularBeans, CDI-AngularJS bridge Copyright (c) 2014, Bessem Hmidi. or third-party contributors as indicated by * the @author tags or express copyright attribution statements applied by the authors. This copyrighted material is * made available to anyone wishing to use, modify, copy, or redistribute it subject to the terms and conditions of the * GNU Lesser General Public License, as published by the Free Software Foundation. This program is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. */ /** * @author Bessem Hmidi */ package angularBeans.realtime; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; /** * * @author bessem a method annotated with @RealTime will be called over websocket (or one of the fallback protocol list * if sockjs is used: ['websocket','xhr-polling','jsonp-polling', 'xdr-polling', 'xdr-streaming', * 'xhr-streaming', 'iframe-xhr-polling', 'iframe-eventsource', 'iframe-htmlfile' ]) * * if the method has no return (void) then it will be a one way call, if not we will have a request-response * realTime window. */ @Retention(RUNTIME) @Target({ TYPE, METHOD, FIELD, PARAMETER }) @Documented public @interface RealTime { // }