/* * 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. AstIdentifier.java */ package org.apache.el.parser;
// EL Resolvers
ctx.setPropertyResolved(false);
Object result; /* Putting the Boolean into the ELContext is part of a performance * optimisation for ScopedAttributeELResolver. When looking up "foo", * the resolver can't differentiate between ${ foo } and ${ foo.bar }. * This is important because the expensive class lookup only needs to * be performed in the later case. This flag tells the resolver if the * lookup can be skipped.
*/ if (parent instanceof AstValue) {
ctx.putContext(this.getClass(), Boolean.FALSE);
} else {
ctx.putContext(this.getClass(), Boolean.TRUE);
} try {
result = ctx.getELResolver().getValue(ctx, null, this.image);
} finally { // Always reset the flag to false so the optimisation is not applied // inappropriately
ctx.putContext(this.getClass(), Boolean.FALSE);
}
// case A: ValueExpression exists, getValue which must // be a MethodExpression
VariableMapper varMapper = ctx.getVariableMapper();
ValueExpression ve = null; if (varMapper != null) {
ve = varMapper.resolveVariable(this.image); if (ve != null) {
obj = ve.getValue(ctx);
}
}
// case B: evaluate the identity against the ELResolver, again, must be // a MethodExpression to be able to invoke if (ve == null) {
ctx.setPropertyResolved(false);
obj = ctx.getELResolver().getValue(ctx, null, this.image);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.