You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jb...@apache.org on 2010/11/20 19:14:04 UTC

svn commit: r1037284 [6/12] - in /tomcat/taglibs/standard/trunk/jstlel: ./ src/main/java/org/apache/taglibs/standard/lang/jstl/ src/main/java/org/apache/taglibs/standard/lang/jstl/parser/ src/main/java/org/apache/taglibs/standard/lang/support/ src/main...

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/RelationalOperator.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/RelationalOperator.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/RelationalOperator.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/RelationalOperator.java Sat Nov 20 18:14:00 2010
@@ -13,62 +13,59 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 /**
- *
  * <p>This is the superclass for all relational operators (except ==
  * or !=)
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
 
 public abstract class RelationalOperator
-  extends BinaryOperator
-{
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given value
-   **/
-  public Object apply (Object pLeft,
-		       Object pRight,
-		       Object pContext,
-		       Logger pLogger)
-    throws ELException
-  {
-    return Coercions.applyRelationalOperator (pLeft, pRight, this, pLogger);
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given double values
-   **/
-  public abstract boolean apply (double pLeft,
-				 double pRight,
-				 Logger pLogger);
-  
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given long values
-   **/
-  public abstract boolean apply (long pLeft,
-				 long pRight,
-				 Logger pLogger);
-  
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given String values
-   **/
-  public abstract boolean apply (String pLeft,
-				 String pRight,
-				 Logger pLogger);
+        extends BinaryOperator {
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given value
+     */
+    public Object apply(Object pLeft,
+                        Object pRight,
+                        Object pContext,
+                        Logger pLogger)
+            throws ELException {
+        return Coercions.applyRelationalOperator(pLeft, pRight, this, pLogger);
+    }
+
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given double values
+     */
+    public abstract boolean apply(double pLeft,
+                                  double pRight,
+                                  Logger pLogger);
+
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given long values
+     */
+    public abstract boolean apply(long pLeft,
+                                  long pRight,
+                                  Logger pLogger);
+
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given String values
+     */
+    public abstract boolean apply(String pLeft,
+                                  String pRight,
+                                  Logger pLogger);
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/StringLiteral.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/StringLiteral.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/StringLiteral.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/StringLiteral.java Sat Nov 20 18:14:00 2010
@@ -13,172 +13,156 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 /**
- *
  * <p>An expression representing a String literal value.
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
 
 public class StringLiteral
-  extends Literal
-{
-  //-------------------------------------
-  /**
-   *
-   * Constructor
-   **/
-  StringLiteral (Object pValue)
-  {
-    super (pValue);
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Returns a StringLiteral parsed from the given token (enclosed by
-   * single or double quotes)
-   **/
-  public static StringLiteral fromToken (String pToken)
-  {
-    return new StringLiteral (getValueFromToken (pToken));
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Returns a StringLiteral with the given string value
-   **/
-  public static StringLiteral fromLiteralValue (String pValue)
-  {
-    return new StringLiteral (pValue);
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Parses the given token into the literal value
-   **/
-  public static String getValueFromToken (String pToken)
-  {
-    StringBuffer buf = new StringBuffer ();
-    int len = pToken.length () - 1;
-    boolean escaping = false;
-    for (int i = 1; i < len; i++) {
-      char ch = pToken.charAt (i);
-      if (escaping) {
-	buf.append (ch);
-	escaping = false;
-      }
-      else if (ch == '\\') {
-	escaping = true;
-      }
-      else {
-	buf.append (ch);
-      }
-    }
-    return buf.toString ();
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Converts the specified value to a String token, using " as the
-   * enclosing quotes and escaping any characters that need escaping.
-   **/
-  public static String toStringToken (String pValue)
-  {
-    // See if any escaping is needed
-    if (pValue.indexOf ('\"') < 0 &&
-	pValue.indexOf ('\\') < 0) {
-      return "\"" + pValue + "\"";
-    }
-
-    // Escaping is needed
-    else {
-      StringBuffer buf = new StringBuffer ();
-      buf.append ('\"');
-      int len = pValue.length ();
-      for (int i = 0; i < len; i++) {
-	char ch = pValue.charAt (i);
-	if (ch == '\\') {
-	  buf.append ('\\');
-	  buf.append ('\\');
-	}
-	else if (ch == '\"') {
-	  buf.append ('\\');
-	  buf.append ('\"');
-	}
-	else {
-	  buf.append (ch);
-	}
-      }
-      buf.append ('\"');
-      return buf.toString ();
-    }
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Converts the specified value to an identifier token, escaping it
-   * as a string literal if necessary.
-   **/
-  public static String toIdentifierToken (String pValue)
-  {
-    // See if it's a valid java identifier
-    if (isJavaIdentifier (pValue)) {
-      return pValue;
-    }
-
-    // Return as a String literal
-    else {
-      return toStringToken (pValue);
-    }
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Returns true if the specified value is a legal java identifier
-   **/
-  static boolean isJavaIdentifier (String pValue)
-  {
-    int len = pValue.length ();
-    if (len == 0) {
-      return false;
-    }
-    else {
-      if (!Character.isJavaIdentifierStart (pValue.charAt (0))) {
-	return false;
-      }
-      else {
-	for (int i = 1; i < len; i++) {
-	  if (!Character.isJavaIdentifierPart (pValue.charAt (i))) {
-	    return false;
-	  }
-	}
-	return true;
-      }
-    }
-  }
-
-  //-------------------------------------
-  // Expression methods
-  //-------------------------------------
-  /**
-   *
-   * Returns the expression in the expression language syntax
-   **/
-  public String getExpressionString ()
-  {
-    return toStringToken ((String) getValue ());
-  }
+        extends Literal {
+    //-------------------------------------
+
+    /**
+     * Constructor
+     */
+    StringLiteral(Object pValue) {
+        super(pValue);
+    }
+
+    //-------------------------------------
+
+    /**
+     * Returns a StringLiteral parsed from the given token (enclosed by
+     * single or double quotes)
+     */
+    public static StringLiteral fromToken(String pToken) {
+        return new StringLiteral(getValueFromToken(pToken));
+    }
+
+    //-------------------------------------
+
+    /**
+     * Returns a StringLiteral with the given string value
+     */
+    public static StringLiteral fromLiteralValue(String pValue) {
+        return new StringLiteral(pValue);
+    }
+
+    //-------------------------------------
+
+    /**
+     * Parses the given token into the literal value
+     */
+    public static String getValueFromToken(String pToken) {
+        StringBuffer buf = new StringBuffer();
+        int len = pToken.length() - 1;
+        boolean escaping = false;
+        for (int i = 1; i < len; i++) {
+            char ch = pToken.charAt(i);
+            if (escaping) {
+                buf.append(ch);
+                escaping = false;
+            } else if (ch == '\\') {
+                escaping = true;
+            } else {
+                buf.append(ch);
+            }
+        }
+        return buf.toString();
+    }
+
+    //-------------------------------------
+
+    /**
+     * Converts the specified value to a String token, using " as the
+     * enclosing quotes and escaping any characters that need escaping.
+     */
+    public static String toStringToken(String pValue) {
+        // See if any escaping is needed
+        if (pValue.indexOf('\"') < 0 &&
+                pValue.indexOf('\\') < 0) {
+            return "\"" + pValue + "\"";
+        }
+
+        // Escaping is needed
+        else {
+            StringBuffer buf = new StringBuffer();
+            buf.append('\"');
+            int len = pValue.length();
+            for (int i = 0; i < len; i++) {
+                char ch = pValue.charAt(i);
+                if (ch == '\\') {
+                    buf.append('\\');
+                    buf.append('\\');
+                } else if (ch == '\"') {
+                    buf.append('\\');
+                    buf.append('\"');
+                } else {
+                    buf.append(ch);
+                }
+            }
+            buf.append('\"');
+            return buf.toString();
+        }
+    }
+
+    //-------------------------------------
+
+    /**
+     * Converts the specified value to an identifier token, escaping it
+     * as a string literal if necessary.
+     */
+    public static String toIdentifierToken(String pValue) {
+        // See if it's a valid java identifier
+        if (isJavaIdentifier(pValue)) {
+            return pValue;
+        }
+
+        // Return as a String literal
+        else {
+            return toStringToken(pValue);
+        }
+    }
+
+    //-------------------------------------
+
+    /**
+     * Returns true if the specified value is a legal java identifier
+     */
+    static boolean isJavaIdentifier(String pValue) {
+        int len = pValue.length();
+        if (len == 0) {
+            return false;
+        } else {
+            if (!Character.isJavaIdentifierStart(pValue.charAt(0))) {
+                return false;
+            } else {
+                for (int i = 1; i < len; i++) {
+                    if (!Character.isJavaIdentifierPart(pValue.charAt(i))) {
+                        return false;
+                    }
+                }
+                return true;
+            }
+        }
+    }
+
+    //-------------------------------------
+    // Expression methods
+    //-------------------------------------
+
+    /**
+     * Returns the expression in the expression language syntax
+     */
+    public String getExpressionString() {
+        return toStringToken((String) getValue());
+    }
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryMinusOperator.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryMinusOperator.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryMinusOperator.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryMinusOperator.java Sat Nov 20 18:14:00 2010
@@ -13,124 +13,107 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 /**
- *
  * <p>The implementation of the unary minus operator
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
 
 public class UnaryMinusOperator
-  extends UnaryOperator
-{
-  //-------------------------------------
-  // Singleton
-  //-------------------------------------
-
-  public static final UnaryMinusOperator SINGLETON =
-    new UnaryMinusOperator ();
-
-  //-------------------------------------
-  /**
-   *
-   * Constructor
-   **/
-  public UnaryMinusOperator ()
-  {
-  }
-
-  //-------------------------------------
-  // Expression methods
-  //-------------------------------------
-  /**
-   *
-   * Returns the symbol representing the operator
-   **/
-  public String getOperatorSymbol ()
-  {
-    return "-";
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given value
-   **/
-  public Object apply (Object pValue,
-		       Object pContext,
-		       Logger pLogger)
-    throws ELException
-  {
-    if (pValue == null) {
-      /*
-      if (pLogger.isLoggingWarning ()) {
-	pLogger.logWarning
-	  (Constants.ARITH_OP_NULL,
-	   getOperatorSymbol ());
-      }
-      */
-      return PrimitiveObjects.getInteger (0);
-    }
-
-    else if (pValue instanceof String) {
-      if (Coercions.isFloatingPointString (pValue)) {
-	double dval =
-	  ((Number) 
-	   (Coercions.coerceToPrimitiveNumber 
-	    (pValue, Double.class, pLogger))).
-	  doubleValue ();
-	return PrimitiveObjects.getDouble (-dval);
-      }
-      else {
-	long lval =
-	  ((Number) 
-	   (Coercions.coerceToPrimitiveNumber 
-	    (pValue, Long.class, pLogger))).
-	  longValue ();
-	return PrimitiveObjects.getLong (-lval);
-      }
-    }
-
-    else if (pValue instanceof Byte) {
-      return PrimitiveObjects.getByte 
-	((byte) -(((Byte) pValue).byteValue ()));
-    }
-    else if (pValue instanceof Short) {
-      return PrimitiveObjects.getShort 
-	((short) -(((Short) pValue).shortValue ()));
-    }
-    else if (pValue instanceof Integer) {
-      return PrimitiveObjects.getInteger 
-	((int) -(((Integer) pValue).intValue ()));
-    }
-    else if (pValue instanceof Long) {
-      return PrimitiveObjects.getLong 
-	((long) -(((Long) pValue).longValue ()));
-    }
-    else if (pValue instanceof Float) {
-      return PrimitiveObjects.getFloat 
-	((float) -(((Float) pValue).floatValue ()));
-    }
-    else if (pValue instanceof Double) {
-      return PrimitiveObjects.getDouble 
-	((double) -(((Double) pValue).doubleValue ()));
-    }
-
-    else {
-      if (pLogger.isLoggingError ()) {
-	pLogger.logError
-	  (Constants.UNARY_OP_BAD_TYPE,
-	   getOperatorSymbol (),
-	   pValue.getClass ().getName ());
-      }
-      return PrimitiveObjects.getInteger (0);
+        extends UnaryOperator {
+    //-------------------------------------
+    // Singleton
+    //-------------------------------------
+
+    public static final UnaryMinusOperator SINGLETON =
+            new UnaryMinusOperator();
+
+    //-------------------------------------
+
+    /**
+     * Constructor
+     */
+    public UnaryMinusOperator() {
+    }
+
+    //-------------------------------------
+    // Expression methods
+    //-------------------------------------
+
+    /**
+     * Returns the symbol representing the operator
+     */
+    public String getOperatorSymbol() {
+        return "-";
+    }
+
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given value
+     */
+    public Object apply(Object pValue,
+                        Object pContext,
+                        Logger pLogger)
+            throws ELException {
+        if (pValue == null) {
+            /*
+            if (pLogger.isLoggingWarning ()) {
+          pLogger.logWarning
+            (Constants.ARITH_OP_NULL,
+             getOperatorSymbol ());
+            }
+            */
+            return PrimitiveObjects.getInteger(0);
+        } else if (pValue instanceof String) {
+            if (Coercions.isFloatingPointString(pValue)) {
+                double dval =
+                        ((Number)
+                                (Coercions.coerceToPrimitiveNumber
+                                        (pValue, Double.class, pLogger))).
+                                doubleValue();
+                return PrimitiveObjects.getDouble(-dval);
+            } else {
+                long lval =
+                        ((Number)
+                                (Coercions.coerceToPrimitiveNumber
+                                        (pValue, Long.class, pLogger))).
+                                longValue();
+                return PrimitiveObjects.getLong(-lval);
+            }
+        } else if (pValue instanceof Byte) {
+            return PrimitiveObjects.getByte
+                    ((byte) -(((Byte) pValue).byteValue()));
+        } else if (pValue instanceof Short) {
+            return PrimitiveObjects.getShort
+                    ((short) -(((Short) pValue).shortValue()));
+        } else if (pValue instanceof Integer) {
+            return PrimitiveObjects.getInteger
+                    ((int) -(((Integer) pValue).intValue()));
+        } else if (pValue instanceof Long) {
+            return PrimitiveObjects.getLong
+                    ((long) -(((Long) pValue).longValue()));
+        } else if (pValue instanceof Float) {
+            return PrimitiveObjects.getFloat
+                    ((float) -(((Float) pValue).floatValue()));
+        } else if (pValue instanceof Double) {
+            return PrimitiveObjects.getDouble
+                    ((double) -(((Double) pValue).doubleValue()));
+        } else {
+            if (pLogger.isLoggingError()) {
+                pLogger.logError
+                        (Constants.UNARY_OP_BAD_TYPE,
+                                getOperatorSymbol(),
+                                pValue.getClass().getName());
+            }
+            return PrimitiveObjects.getInteger(0);
+        }
     }
-  }
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperator.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperator.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperator.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperator.java Sat Nov 20 18:14:00 2010
@@ -13,47 +13,44 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 /**
- *
  * <p>This is the superclass for all unary operators
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
+
+public abstract class UnaryOperator {
+    //-------------------------------------
 
-public abstract class UnaryOperator
-{
-  //-------------------------------------
-  /**
-   *
-   * Constructor
-   **/
-  public UnaryOperator ()
-  {
-  }
-
-  //-------------------------------------
-  // Expression methods
-  //-------------------------------------
-  /**
-   *
-   * Returns the symbol representing the operator
-   **/
-  public abstract String getOperatorSymbol ();
-
-  //-------------------------------------
-  /**
-   *
-   * Applies the operator to the given value
-   **/
-  public abstract Object apply (Object pValue,
-				Object pContext,
-				Logger pLogger)
-    throws ELException;
+    /**
+     * Constructor
+     */
+    public UnaryOperator() {
+    }
+
+    //-------------------------------------
+    // Expression methods
+    //-------------------------------------
+
+    /**
+     * Returns the symbol representing the operator
+     */
+    public abstract String getOperatorSymbol();
+
+    //-------------------------------------
+
+    /**
+     * Applies the operator to the given value
+     */
+    public abstract Object apply(Object pValue,
+                                 Object pContext,
+                                 Logger pLogger)
+            throws ELException;
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperatorExpression.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperatorExpression.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperatorExpression.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/UnaryOperatorExpression.java Sat Nov 20 18:14:00 2010
@@ -13,7 +13,7 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
@@ -21,113 +21,118 @@ import java.util.List;
 import java.util.Map;
 
 /**
- *
  * <p>An expression representing one or more unary operators on a
  * value
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @author Shawn Bayern
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
 
 public class UnaryOperatorExpression
-  extends Expression
-{
-  //-------------------------------------
-  // Properties
-  //-------------------------------------
-  // property operator
-
-  UnaryOperator mOperator;
-  public UnaryOperator getOperator ()
-  { return mOperator; }
-  public void setOperator (UnaryOperator pOperator)
-  { mOperator = pOperator; }
-
-  //-------------------------------------
-  // property operators
-
-  List mOperators;
-  public List getOperators ()
-  { return mOperators; }
-  public void setOperators (List pOperators)
-  { mOperators = pOperators; }
-
-  //-------------------------------------
-  // property expression
-
-  Expression mExpression;
-  public Expression getExpression ()
-  { return mExpression; }
-  public void setExpression (Expression pExpression)
-  { mExpression = pExpression; }
-
-  //-------------------------------------
-  /**
-   *
-   * Constructor
-   **/
-  public UnaryOperatorExpression (UnaryOperator pOperator,
-				  List pOperators,
-				  Expression pExpression)
-  {
-    mOperator = pOperator;
-    mOperators = pOperators;
-    mExpression = pExpression;
-  }
-
-  //-------------------------------------
-  // Expression methods
-  //-------------------------------------
-  /**
-   *
-   * Returns the expression in the expression language syntax
-   **/
-  public String getExpressionString ()
-  {
-    StringBuffer buf = new StringBuffer ();
-    buf.append ("(");
-    if (mOperator != null) {
-      buf.append (mOperator.getOperatorSymbol ());
-      buf.append (" ");
-    }
-    else {
-      for (int i = 0; i < mOperators.size (); i++) {
-	UnaryOperator operator = (UnaryOperator) mOperators.get (i);
-	buf.append (operator.getOperatorSymbol ());
-	buf.append (" ");
-      }
-    }
-    buf.append (mExpression.getExpressionString ());
-    buf.append (")");
-    return buf.toString ();
-  }
-
-  //-------------------------------------
-  /**
-   *
-   * Evaluates to the literal value
-   **/
-  public Object evaluate (Object pContext,
-			  VariableResolver pResolver,
-			  Map functions,
-			  String defaultPrefix,
-			  Logger pLogger)
-    throws ELException
-  {
-    Object value = mExpression.evaluate (pContext, pResolver, functions,
-					 defaultPrefix, pLogger);
-    if (mOperator != null) {
-      value = mOperator.apply (value, pContext, pLogger);
-    }
-    else {
-      for (int i = mOperators.size () - 1; i >= 0; i--) {
-	UnaryOperator operator = (UnaryOperator) mOperators.get (i);
-	value = operator.apply (value, pContext, pLogger);
-      }
+        extends Expression {
+    //-------------------------------------
+    // Properties
+    //-------------------------------------
+    // property operator
+
+    UnaryOperator mOperator;
+
+    public UnaryOperator getOperator() {
+        return mOperator;
+    }
+
+    public void setOperator(UnaryOperator pOperator) {
+        mOperator = pOperator;
+    }
+
+    //-------------------------------------
+    // property operators
+
+    List mOperators;
+
+    public List getOperators() {
+        return mOperators;
+    }
+
+    public void setOperators(List pOperators) {
+        mOperators = pOperators;
+    }
+
+    //-------------------------------------
+    // property expression
+
+    Expression mExpression;
+
+    public Expression getExpression() {
+        return mExpression;
+    }
+
+    public void setExpression(Expression pExpression) {
+        mExpression = pExpression;
+    }
+
+    //-------------------------------------
+
+    /**
+     * Constructor
+     */
+    public UnaryOperatorExpression(UnaryOperator pOperator,
+                                   List pOperators,
+                                   Expression pExpression) {
+        mOperator = pOperator;
+        mOperators = pOperators;
+        mExpression = pExpression;
+    }
+
+    //-------------------------------------
+    // Expression methods
+    //-------------------------------------
+
+    /**
+     * Returns the expression in the expression language syntax
+     */
+    public String getExpressionString() {
+        StringBuffer buf = new StringBuffer();
+        buf.append("(");
+        if (mOperator != null) {
+            buf.append(mOperator.getOperatorSymbol());
+            buf.append(" ");
+        } else {
+            for (int i = 0; i < mOperators.size(); i++) {
+                UnaryOperator operator = (UnaryOperator) mOperators.get(i);
+                buf.append(operator.getOperatorSymbol());
+                buf.append(" ");
+            }
+        }
+        buf.append(mExpression.getExpressionString());
+        buf.append(")");
+        return buf.toString();
+    }
+
+    //-------------------------------------
+
+    /**
+     * Evaluates to the literal value
+     */
+    public Object evaluate(Object pContext,
+                           VariableResolver pResolver,
+                           Map functions,
+                           String defaultPrefix,
+                           Logger pLogger)
+            throws ELException {
+        Object value = mExpression.evaluate(pContext, pResolver, functions,
+                defaultPrefix, pLogger);
+        if (mOperator != null) {
+            value = mOperator.apply(value, pContext, pLogger);
+        } else {
+            for (int i = mOperators.size() - 1; i >= 0; i--) {
+                UnaryOperator operator = (UnaryOperator) mOperators.get(i);
+                value = operator.apply(value, pContext, pLogger);
+            }
+        }
+        return value;
     }
-    return value;
-  }
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/ValueSuffix.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/ValueSuffix.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/ValueSuffix.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/ValueSuffix.java Sat Nov 20 18:14:00 2010
@@ -13,45 +13,43 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 import java.util.Map;
 
 /**
- *
  * <p>Represents an element that can appear as a suffix in a complex
  * value, such as a property or index operator, or a method call (should
  * they ever need to be supported).
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @author Shawn Bayern
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
+
+public abstract class ValueSuffix {
+    //-------------------------------------
 
-public abstract class ValueSuffix
-{
-  //-------------------------------------
-  /**
-   *
-   * Returns the expression in the expression language syntax
-   **/
-  public abstract String getExpressionString ();
-
-  //-------------------------------------
-  /**
-   *
-   * Evaluates the expression in the given context, operating on the
-   * given value.
-   **/
-  public abstract Object evaluate (Object pValue,
-				   Object pContext,
-				   VariableResolver pResolver,
-				   Map functions,
-				   String defaultPrefix,
-				   Logger pLogger)
-    throws ELException;
+    /**
+     * Returns the expression in the expression language syntax
+     */
+    public abstract String getExpressionString();
+
+    //-------------------------------------
+
+    /**
+     * Evaluates the expression in the given context, operating on the
+     * given value.
+     */
+    public abstract Object evaluate(Object pValue,
+                                    Object pContext,
+                                    VariableResolver pResolver,
+                                    Map functions,
+                                    String defaultPrefix,
+                                    Logger pLogger)
+            throws ELException;
 
-  //-------------------------------------
+    //-------------------------------------
 }

Modified: tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/VariableResolver.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/VariableResolver.java?rev=1037284&r1=1037283&r2=1037284&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/VariableResolver.java (original)
+++ tomcat/taglibs/standard/trunk/jstlel/src/main/java/org/apache/taglibs/standard/lang/jstl/VariableResolver.java Sat Nov 20 18:14:00 2010
@@ -13,40 +13,38 @@
  * 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.
- */ 
+ */
 
 package org.apache.taglibs.standard.lang.jstl;
 
 /**
- *
  * <p>This class is used to customize the way the evaluator resolves
  * variable references.  For example, instances of this class can
  * implement their own variable lookup mechanisms, or introduce the
  * notion of "implicit variables" which override any other variables.
  * An instance of this class should be passed to the evaluator's
  * constructor.
- *
+ * <p/>
  * <p>Whenever the evaluator is invoked, it is passed a "context"
  * Object from the application.  For example, in a JSP environment,
  * the "context" is a PageContext.  That context object is eventually
  * passed to this class, so that this class has a context in which to
  * resolve variables.
- * 
+ *
  * @author Nathan Abramson - Art Technology Group
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author$
- **/
+ */
+
+public interface VariableResolver {
+    //-------------------------------------
+
+    /**
+     * Resolves the specified variable within the given context.
+     * Returns null if the variable is not found.
+     */
+    public Object resolveVariable(String pName,
+                                  Object pContext)
+            throws ELException;
 
-public interface VariableResolver
-{
-  //-------------------------------------
-  /**
-   *
-   * Resolves the specified variable within the given context.
-   * Returns null if the variable is not found.
-   **/
-  public Object resolveVariable (String pName,
-				 Object pContext)
-    throws ELException;
-					
-  //-------------------------------------
+    //-------------------------------------
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org