org.apache.jasper.runtime
Class ProtectedFunctionMapper

java.lang.Object
  |
  +--org.apache.jasper.runtime.ProtectedFunctionMapper
All Implemented Interfaces:
javax.servlet.jsp.el.FunctionMapper

public final class ProtectedFunctionMapper
extends java.lang.Object
implements javax.servlet.jsp.el.FunctionMapper

Maps EL functions to their Java method counterparts. Keeps the actual Method objects protected so that JSP pages can't indirectly do reflection.

Author:
Mark Roth, Kin-man Chung

Method Summary
static ProtectedFunctionMapper getInstance()
          Generated Servlet and Tag Handler implementations call this method to retrieve an instance of the ProtectedFunctionMapper.
 void mapFunction(java.lang.String fnQName, java.lang.Class c, java.lang.String methodName, java.lang.Class[] args)
          Stores a mapping from the given EL function prefix and name to the given Java method.
 java.lang.reflect.Method resolveFunction(java.lang.String prefix, java.lang.String localName)
          Resolves the specified local name and prefix into a Java.lang.Method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static ProtectedFunctionMapper getInstance()
Generated Servlet and Tag Handler implementations call this method to retrieve an instance of the ProtectedFunctionMapper. This is necessary since generated code does not have access to create instances of classes in this package.

Returns:
A new protected function mapper.

mapFunction

public void mapFunction(java.lang.String fnQName,
                        java.lang.Class c,
                        java.lang.String methodName,
                        java.lang.Class[] args)
Stores a mapping from the given EL function prefix and name to the given Java method.

Parameters:
fnQName - The EL function qualified name (including prefix)
c - The class containing the Java method
methodName - The name of the Java method
args - The arguments of the Java method
Throws:
java.lang.RuntimeException - if no method with the given signature could be found.

resolveFunction

public java.lang.reflect.Method resolveFunction(java.lang.String prefix,
                                                java.lang.String localName)
Resolves the specified local name and prefix into a Java.lang.Method. Returns null if the prefix and local name are not found.

Specified by:
resolveFunction in interface javax.servlet.jsp.el.FunctionMapper
Parameters:
prefix - the prefix of the function
localName - the short name of the function
Returns:
the result of the method mapping. Null means no entry found.


Copyright © 2000 Apache Software Foundation. All Rights Reserved.