Home » apache-openwebbeans-1.0.0-incubating-M3-sources » org.apache.webbeans.context.creational » [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.context.creational;
   18   
   19   import javax.enterprise.context.spi.Contextual;
   20   import javax.enterprise.context.spi.CreationalContext;
   21   
   22   import org.apache.webbeans.config.WebBeansFinder;
   23   
   24   /**
   25    * Factory for {@link CreationalContext} instances.
   26    * 
   27    * @version $Rev: 790362 $ $Date: 2009-07-01 23:27:48 +0300 (Wed, 01 Jul 2009) $
   28    *
   29    * @param <T> contextual type info
   30    */
   31   public final class CreationalContextFactory<T>
   32   {
   33       /**Ceational context that is used for generating other creational contexts*/
   34       private CreationalContextImpl<T> impl;
   35       
   36       /**
   37        * Creates a new <code>CreationalContextFactory</code> instance.
   38        */
   39       public CreationalContextFactory()
   40       {
   41           impl = new CreationalContextImpl<T>();
   42       }
   43       
   44       /**
   45        * Gets singleton instance.
   46        * 
   47        * @return singleton factory per class loader per VM
   48        */
   49       @SuppressWarnings("unchecked")
   50       public static CreationalContextFactory getInstance()
   51       {
   52           return (CreationalContextFactory)WebBeansFinder.getSingletonInstance(WebBeansFinder.SINGLETON_CREATIONAL_CONTEXT_FACTORY);
   53       }
   54       
   55       /**
   56        * Returns a new creational context for given contextual.
   57        * 
   58        * @param contextual contextual instance
   59        * @return new creational context for given contextual
   60        */
   61       public CreationalContext<T> getCreationalContext(Contextual<T> contextual)
   62       {        
   63           return impl.getCreationalContextImpl(contextual);   
   64       }
   65           
   66       /**
   67        * Clear all incomplete instance cache.
   68        */
   69       public void clear()
   70       {
   71           impl.clear();
   72           impl = null;
   73       }
   74   }

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