You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ba...@apache.org on 2010/07/03 21:40:07 UTC
svn commit: r960262 - in
/tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core:
IndexedValueExpression.java IteratedValueExpression.java
Author: bayard
Date: Sat Jul 3 19:40:07 2010
New Revision: 960262
URL: http://svn.apache.org/viewvc?rev=960262&view=rev
Log:
Fixing equals method to be consistent with hashCode, and making the serialVersionUID be 1L per the spec javadoc. Per Jeremy Boynes' #49542 report
Modified:
tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IndexedValueExpression.java
tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IteratedValueExpression.java
Modified: tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IndexedValueExpression.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IndexedValueExpression.java?rev=960262&r1=960261&r2=960262&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IndexedValueExpression.java (original)
+++ tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IndexedValueExpression.java Sat Jul 3 19:40:07 2010
@@ -24,25 +24,41 @@ import java.io.Serializable;
import javax.el.ELContext;
import javax.el.ValueExpression;
+/**
+ * ValueExpression that refers to a specific member of an indexed variable.
+ * This allows individual members of an indexed collection to be used as lvalues.
+ */
public final class IndexedValueExpression extends ValueExpression implements Serializable {
+ // serialVersionUID value defined by specification JavaDoc
+ private static final long serialVersionUID = 1L;
- private static final long serialVersionUID = -7300711701036452952L;
+ /**
+ * The index variable.
+ */
protected final Integer i;
+
+ /**
+ * The indexed variable.
+ */
protected final ValueExpression orig;
-
- public IndexedValueExpression(ValueExpression valueExpression, int _i) {
+
+ /**
+ * Constructor specifying indexed variable and index.
+ *
+ * @param valueExpression that evaluates to the indexed variable
+ * @param i index specifying the member
+ */
+ public IndexedValueExpression(ValueExpression valueExpression, int i) {
orig = valueExpression;
- i=_i;
+ this.i = i;
}
-
- public boolean equals(Object arg0) {
- boolean rc=false;
- if (arg0!=null) {
- if (arg0.equals(orig)) {
- rc = true;
- }
- }
- return rc;
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ IndexedValueExpression that = (IndexedValueExpression) o;
+ return i.equals(that.i) && orig.equals(that.orig);
}
public Class getExpectedType() {
Modified: tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IteratedValueExpression.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IteratedValueExpression.java?rev=960262&r1=960261&r2=960262&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IteratedValueExpression.java (original)
+++ tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/IteratedValueExpression.java Sat Jul 3 19:40:07 2010
@@ -22,26 +22,29 @@ package javax.servlet.jsp.jstl.core;
import javax.el.ELContext;
import javax.el.ValueExpression;
+/**
+ * ValueExpression that refers to a specific member of an indexed variable backed by an IteratedExpression.
+ * This allows individual members of an indexed collection to be used as lvalues.
+ */
public final class IteratedValueExpression extends ValueExpression {
+ // serialVersionUID value defined by specification JavaDoc
+ private static final long serialVersionUID = 1L;
- private static final long serialVersionUID = 2771035360633553883L;
- //IteratedExpression is not serializable
- protected final IteratedExpression iteratedExpression;
protected final int i;
-
- public IteratedValueExpression(IteratedExpression _iteratedExpression, int _i) {
- iteratedExpression = _iteratedExpression;
- i = _i;
+ // TODO: IteratedExpression is not serializable - should this be ignored?
+ protected final IteratedExpression iteratedExpression;
+
+ public IteratedValueExpression(IteratedExpression _iteratedExpr, int i) {
+ iteratedExpression = _iteratedExpr;
+ this.i = i;
}
- public boolean equals(Object arg0) {
- if (arg0==null) {
- return false;
- }
- if (iteratedExpression.getValueExpression().equals(arg0)) {
- return true;
- }
- return false;
+ public boolean equals(Object obj) {
+ if (this == obj) return true;
+ if (obj == null || getClass() != obj.getClass()) return false;
+
+ IteratedValueExpression that = (IteratedValueExpression) obj;
+ return i == that.i && iteratedExpression.equals(that.iteratedExpression);
}
public Class getExpectedType() {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org