View Javadoc

1   //========================================================================
2   //$Id: ServletHandler.java 1448 2006-12-29 20:46:57Z janb $
3   //Copyright 2006 Mort Bay Consulting Pty. Ltd.
4   //------------------------------------------------------------------------
5   //Licensed under the Apache License, Version 2.0 (the "License");
6   //you may not use this file except in compliance with the License.
7   //You may obtain a copy of the License at 
8   //http://www.apache.org/licenses/LICENSE-2.0
9   //Unless required by applicable law or agreed to in writing, software
10  //distributed under the License is distributed on an "AS IS" BASIS,
11  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  //See the License for the specific language governing permissions and
13  //limitations under the License.
14  //========================================================================
15  
16  package org.mortbay.jetty.plus.servlet;
17  
18  import javax.servlet.Filter;
19  import javax.servlet.Servlet;
20  
21  import org.mortbay.jetty.plus.annotation.InjectionCollection;
22  import org.mortbay.jetty.plus.annotation.LifeCycleCallbackCollection;
23  
24  /**
25   * ServletHandler
26   *
27   *
28   */
29  public class ServletHandler extends org.mortbay.jetty.servlet.ServletHandler
30  {
31  
32      private InjectionCollection _injections = null;
33      private LifeCycleCallbackCollection _callbacks = null;
34      
35  
36  
37      /**
38       * @return the callbacks
39       */
40      public LifeCycleCallbackCollection getCallbacks()
41      {
42          return _callbacks;
43      }
44  
45  
46  
47      /**
48       * @param callbacks the callbacks to set
49       */
50      public void setCallbacks(LifeCycleCallbackCollection callbacks)
51      {
52          this._callbacks = callbacks;
53      }
54  
55  
56  
57      /**
58       * @return the injections
59       */
60      public InjectionCollection getInjections()
61      {
62          return _injections;
63      }
64  
65  
66  
67      /**
68       * @param injections the injections to set
69       */
70      public void setInjections(InjectionCollection injections)
71      {
72          this._injections = injections;
73      }
74      
75      /** 
76       * @see org.mortbay.jetty.servlet.ServletHandler#customizeFilter(javax.servlet.Filter)
77       */
78      public Filter customizeFilter(Filter filter) throws Exception
79      {
80          if (_injections != null)
81              _injections.inject(filter);
82          
83          if (_callbacks != null)
84              _callbacks.callPostConstructCallback(filter);
85          return super.customizeFilter(filter); 
86      }
87      
88      
89  
90      /** 
91       * @see org.mortbay.jetty.servlet.ServletHandler#customizeServlet(javax.servlet.Servlet)
92       */
93      public Servlet customizeServlet(Servlet servlet) throws Exception
94      {      
95          if (_injections != null)
96              _injections.inject(servlet);
97          if (_callbacks != null)
98              _callbacks.callPostConstructCallback(servlet);
99          return super.customizeServlet(servlet);
100     }
101 
102 
103 
104     /** 
105      * @see org.mortbay.jetty.servlet.ServletHandler#cusomizeFilterDestroy(javax.servlet.Filter)
106      */
107     public Filter customizeFilterDestroy(Filter filter) throws Exception
108     {
109         if (_callbacks != null)
110             _callbacks.callPreDestroyCallback(filter);
111         return super.customizeFilterDestroy(filter);
112     }
113 
114 
115 
116     /** 
117      * @see org.mortbay.jetty.servlet.ServletHandler#customizeServletDestroy(javax.servlet.Servlet)
118      */
119     public Servlet customizeServletDestroy(Servlet servlet) throws Exception
120     {
121         if (_callbacks != null)
122             _callbacks.callPreDestroyCallback(servlet);
123         return super.customizeServletDestroy(servlet);
124     }
125 }