View Javadoc

1   //========================================================================
2   //$Id: RunAs.java 1594 2007-02-14 02:45:12Z 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.annotation;
17  
18  import javax.servlet.Servlet;
19  
20  import org.mortbay.jetty.servlet.ServletHolder;
21  
22  /**
23   * RunAs
24   *
25   * Represents a <run-as> element in web.xml, or a runAs annotation.
26   */
27  public class RunAs
28  {
29      private Class _targetClass;
30      private String _roleName;
31      
32      public RunAs()
33      {}
34      
35      
36      public void setTargetClass (Class clazz)
37      {
38          _targetClass=clazz;
39      }
40  
41      public Class getTargetClass ()
42      {
43          return _targetClass;
44      }
45      
46      public void setRoleName (String roleName)
47      {
48          _roleName = roleName;
49      }
50      
51      public String getRoleName ()
52      {
53          return _roleName;
54      }
55      
56      
57      public void setRunAs (ServletHolder holder)
58      {
59          if (holder==null)
60              return;
61          if (holder.getClassName().equals(_targetClass.getName()))
62              holder.setRunAs(_roleName); 
63      }
64  }