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 &lt;run-as&gt; 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  }