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 
RunAs()32     public RunAs()
33     {}
34 
35 
setTargetClass(Class clazz)36     public void setTargetClass (Class clazz)
37     {
38         _targetClass=clazz;
39     }
40 
getTargetClass()41     public Class getTargetClass ()
42     {
43         return _targetClass;
44     }
45 
setRoleName(String roleName)46     public void setRoleName (String roleName)
47     {
48         _roleName = roleName;
49     }
50 
getRoleName()51     public String getRoleName ()
52     {
53         return _roleName;
54     }
55 
56 
setRunAs(ServletHolder holder)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 }
65