Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 /* Generated By:JJTree: Do not edit this line. AstFunction.java */
 
 package org.apache.el.parser;
 
 import static org.jboss.web.ELMessages.MESSAGES;
 
 
 

Author(s):
Jacob Hookom [jacob@hookom.net]
Version:
$Id: AstFunction.java 1882 2011-12-06 15:27:15Z remy.maucherat@jboss.com $
 
 public final class AstFunction extends SimpleNode {
 
     protected String localName = "";
 
     protected String prefix = "";
 
     public AstFunction(int id) {
         super(id);
     }
 
     public String getLocalName() {
         return ;
     }
 
     public String getOutputName() {
         if (this. == null) {
             return this.;
         } else {
             return this. + ":" + this.;
         }
     }
 
     public String getPrefix() {
         return ;
     }
 
     @Override
     public Class<?> getType(EvaluationContext ctx)
             throws ELException {
 
         FunctionMapper fnMapper = ctx.getFunctionMapper();
 
         // quickly validate again for this request
         if (fnMapper == null) {
             throw new ELException(.missingFunctionMapper());
         }
         Method m = fnMapper.resolveFunction(this.this.);
         if (m == null) {
             throw new ELException(.functionNotFound(this.getOutputName()));
         }
         return m.getReturnType();
     }
 
     @Override
     public Object getValue(EvaluationContext ctx)
             throws ELException {
 
         FunctionMapper fnMapper = ctx.getFunctionMapper();
 
         // quickly validate again for this request
         if (fnMapper == null) {
             throw new ELException(.missingFunctionMapper());
         }
         Method m = fnMapper.resolveFunction(this.this.);
         if (m == null) {
             throw new ELException(.functionNotFound(this.getOutputName()));
         }
 
         Class<?>[] paramTypes = m.getParameterTypes();
         Object[] params = null;
         Object result = null;
         int numParams = this.jjtGetNumChildren();
         if (numParams > 0) {
             params = new Object[numParams];
            try {
                for (int i = 0; i < numParamsi++) {
                    params[i] = this.[i].getValue(ctx);
                    params[i] = coerceToType(params[i], paramTypes[i]);
                }
            } catch (ELException ele) {
                throw new ELException(.errorCallingFunction(this.getOutputName()), ele);
            }
        }
        try {
            result = m.invoke(nullparams);
        } catch (IllegalAccessException iae) {
            throw new ELException(.errorCallingFunction(this
                    .getOutputName()), iae);
        } catch (InvocationTargetException ite) {
            Throwable cause = ite.getCause();
            if (cause instanceof ThreadDeath) {
                throw (ThreadDeathcause;
            }
            if (cause instanceof VirtualMachineError) {
                throw (VirtualMachineErrorcause;
            }
            throw new ELException(.errorCallingFunction(this
                    .getOutputName()), cause);
        }
        return result;
    }
    public void setLocalName(String localName) {
        this. = localName;
    }
    public void setPrefix(String prefix) {
        this. = prefix;
    }
    @Override
    public String toString()
    {
        return .[] + "[" + this.getOutputName() + "]";
    }
New to GrepCode? Check out our FAQ X