View Javadoc

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.jetspeed.components.factorybeans;
18  
19  import javax.servlet.ServletConfig;
20  
21  import org.springframework.beans.factory.config.AbstractFactoryBean;
22  
23  /***
24   * <p>
25   * PreSetInstanceFactoryBean
26   * </p>
27   * <p>
28   *
29   * </p>
30   * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
31   * @version $Id: ServletConfigFactoryBean.java 516448 2007-03-09 16:25:47Z ate $
32   *
33   */
34  public class ServletConfigFactoryBean extends AbstractFactoryBean
35  {
36  
37      private static ServletConfig servletConfig;
38  
39  
40      /***
41       * <p>
42       * createInstance
43       * </p>
44       *
45       * @see org.springframework.beans.factory.config.AbstractFactoryBean#createInstance()
46       * @return
47       * @throws Exception
48       */
49      protected final Object createInstance() throws Exception
50      {  
51          verifyState();
52          return servletConfig;        
53      }
54  
55      /***
56       * <p>
57       * getObjectType
58       * </p>
59       * @see org.springframework.beans.factory.FactoryBean#getObjectType()
60       * @return
61       */
62      public final Class getObjectType()
63      {
64          return ServletConfig.class;
65      }
66      
67      public final static void setServletConfig(ServletConfig servletConfig)
68      {
69          ServletConfigFactoryBean.servletConfig = servletConfig;
70      }
71      
72      protected final void verifyState() throws IllegalStateException
73      {
74          if(servletConfig == null)
75          {
76              throw new IllegalStateException("You invoke the ServletConfigFactoryBean.setServletConfig() "+
77                    "method prior to attempting to get the ServletConfig.");
78          }
79      }
80  }