Home » apache-openwebbeans-1.0.0-incubating-M3-sources » org.apache.webbeans.ejb.interceptor » [javadoc | source]

    1   /*
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    * 
    9    *       http://www.apache.org/licenses/LICENSE-2.0
   10    * 
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   package org.apache.webbeans.ejb.interceptor;
   18   
   19   import javax.annotation.PostConstruct;
   20   import javax.interceptor.InvocationContext;
   21   
   22   import org.apache.webbeans.ejb.component.EjbBean;
   23   
   24   public class OpenWebBeansEjbInterceptor
   25   {
   26       private static ThreadLocal<EjbBean<?>> threadLocal = new ThreadLocal<EjbBean<?>>();
   27       
   28       public static void setThreadLocal(EjbBean<?> ejbBean)
   29       {
   30           threadLocal.set(ejbBean);
   31       }
   32       
   33       public static void unsetThreadLocal()
   34       {
   35           threadLocal.remove();
   36       }
   37       
   38       @PostConstruct
   39       @SuppressWarnings("unchecked")
   40       public void afterConstruct(InvocationContext context) throws Exception
   41       {
   42           Object instance = context.getTarget();
   43           EjbBean<Object> bean = (EjbBean<Object>)threadLocal.get();
   44           
   45           threadLocal.get().injectFieldInInterceptor(instance, bean.getCreationalContext());
   46           
   47           
   48       }
   49       
   50   }

Home » apache-openwebbeans-1.0.0-incubating-M3-sources » org.apache.webbeans.ejb.interceptor » [javadoc | source]