Author: [email protected]
Date: Wed Apr  8 17:12:14 2009
New Revision: 5200

Modified:
    trunk/user/src/com/google/gwt/core/client/JsArray.java
    trunk/user/src/com/google/gwt/core/client/JsArrayBoolean.java
    trunk/user/src/com/google/gwt/core/client/JsArrayInteger.java
    trunk/user/src/com/google/gwt/core/client/JsArrayNumber.java
    trunk/user/src/com/google/gwt/core/client/JsArrayString.java

Log:
Adding push/shift operations to JsArray* classes.

Review by: knorton

Modified: trunk/user/src/com/google/gwt/core/client/JsArray.java
==============================================================================
--- trunk/user/src/com/google/gwt/core/client/JsArray.java      (original)
+++ trunk/user/src/com/google/gwt/core/client/JsArray.java      Wed Apr  8  
17:12:14 2009
@@ -1,12 +1,12 @@
  /*
   * Copyright 2008 Google Inc.
- *
+ *
   * Licensed 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
@@ -18,10 +18,10 @@
  /**
   * A simple wrapper around a homogeneous native array of
   * {...@link JavaScriptObject} values.
- *
+ *
   * This class may not be directly instantiated, and can only be returned  
from a
   * native method. For example,
- *
+ *
   * <code>
   * native JsArray<JavaScriptObject> getNativeArray() /*-{
   *   return [
@@ -31,7 +31,7 @@
   *   ];
   * }-* /;
   * </code>
- *
+ *
   * @param <T> the concrete type of object contained in this array
   */
  public class JsArray<T extends JavaScriptObject> extends JavaScriptObject {
@@ -41,7 +41,7 @@

    /**
     * Gets the object at a given index.
-   *
+   *
     * @param index the index to be retrieved
     * @return the object at the given index, or <code>null</code> if none
     *         exists
@@ -52,7 +52,7 @@

    /**
     * Gets the length of the array.
-   *
+   *
     * @return the array length
     */
    public final native int length() /*-{
@@ -60,15 +60,31 @@
    }-*/;

    /**
+   * Pushes the given value onto the end of the array.
+   */
+  public final native void push(T value) /*-{
+    this[this.length] = value;
+  }-*/;
+
+  /**
     * Sets the object value at a given index.
-   *
+   *
     * If the index is out of bounds, the value will still be set. The  
array's
     * length will be updated to encompass the bounds implied by the added  
object.
-   *
+   *
     * @param index the index to be set
     * @param value the object to be stored
     */
    public final native void set(int index, T value) /*-{
      this[index] = value;
    }-*/;
+
+  /**
+   * Shifts the first value off the array.
+   * @return the shifted value
+   */
+  public final native T shift() /*-{
+    return this.shift();
+  }-*/;
+
  }

Modified: trunk/user/src/com/google/gwt/core/client/JsArrayBoolean.java
==============================================================================
--- trunk/user/src/com/google/gwt/core/client/JsArrayBoolean.java       
(original)
+++ trunk/user/src/com/google/gwt/core/client/JsArrayBoolean.java       Wed Apr 
  
8 17:12:14 2009
@@ -1,12 +1,12 @@
  /*
   * Copyright 2008 Google Inc.
- *
+ *
   * Licensed 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
@@ -17,10 +17,10 @@

  /**
   * A simple wrapper around a homogeneous native array of boolean values.
- *
+ *
   * This class may not be directly instantiated, and can only be returned  
from a
   * native method. For example,
- *
+ *
   * <code>
   * native JsArrayBoolean getNativeArray() /*-{
   *   return [true, false, true];
@@ -34,21 +34,21 @@

    /**
     * Gets the value at a given index.
-   *
+   *
     * If an undefined or non-boolean value exists at the given index, a
     * type-conversion error will occur in hosted mode and unpredictable  
behavior
     * may occur in web mode.
-   *
+   *
     * @param index the index to be retrieved
     * @return the value at the given index
     */
    public final native boolean get(int index) /*-{
      return this[index];
    }-*/;
-
+
    /**
     * Gets the length of the array.
-   *
+   *
     * @return the array length
     */
    public final native int length() /*-{
@@ -56,15 +56,31 @@
    }-*/;

    /**
+   * Pushes the given boolean onto the end of the array.
+   */
+  public final native void push(boolean value) /*-{
+    this[this.length] = value;
+  }-*/;
+
+  /**
     * Sets the value value at a given index.
-   *
+   *
     * If the index is out of bounds, the value will still be set. The  
array's
     * length will be updated to encompass the bounds implied by the added  
value.
-   *
+   *
     * @param index the index to be set
     * @param value the value to be stored
     */
    public final native void set(int index, boolean value) /*-{
      this[index] = value;
    }-*/;
+
+  /**
+   * Shifts the first value off the array.
+   * @return the shifted value
+   */
+  public final native boolean shift() /*-{
+    return this.shift();
+  }-*/;
+
  }

Modified: trunk/user/src/com/google/gwt/core/client/JsArrayInteger.java
==============================================================================
--- trunk/user/src/com/google/gwt/core/client/JsArrayInteger.java       
(original)
+++ trunk/user/src/com/google/gwt/core/client/JsArrayInteger.java       Wed Apr 
  
8 17:12:14 2009
@@ -1,12 +1,12 @@
  /*
   * Copyright 2008 Google Inc.
- *
+ *
   * Licensed 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
@@ -17,10 +17,10 @@

  /**
   * A simple wrapper around a homogeneous native array of integer values.
- *
+ *
   * This class may not be directly instantiated, and can only be returned  
from a
   * native method. For example,
- *
+ *
   * <code>
   * native JsArrayInteger getNativeArray() /*-{
   *   return [1, 2, 3];
@@ -34,12 +34,12 @@

    /**
     * Gets the value at a given index.
-   *
+   *
     * If no value exists at the given index, a type-conversion error will  
occur
     * in hosted mode and unpredictable behavior may occur in web mode. If  
the
     * numeric value returned is non-integral, it will cause a warning in  
hosted
     * mode, and may affect the results of mathematical expressions.
-   *
+   *
     * @param index the index to be retrieved
     * @return the value at the given index
     */
@@ -49,7 +49,7 @@

    /**
     * Gets the length of the array.
-   *
+   *
     * @return the array length
     */
    public final native int length() /*-{
@@ -57,15 +57,30 @@
    }-*/;

    /**
+   * Pushes the given integer onto the end of the array.
+   */
+  public final native void push(int value) /*-{
+    this[this.length] = value;
+  }-*/;
+
+  /**
     * Sets the value value at a given index.
-   *
+   *
     * If the index is out of bounds, the value will still be set. The  
array's
     * length will be updated to encompass the bounds implied by the added  
value.
-   *
+   *
     * @param index the index to be set
     * @param value the value to be stored
     */
    public final native void set(int index, int value) /*-{
      this[index] = value;
+  }-*/;
+
+  /**
+   * Shifts the first value off the array.
+   * @return the shifted value
+   */
+  public final native int shift() /*-{
+    return this.shift();
    }-*/;
  }

Modified: trunk/user/src/com/google/gwt/core/client/JsArrayNumber.java
==============================================================================
--- trunk/user/src/com/google/gwt/core/client/JsArrayNumber.java        
(original)
+++ trunk/user/src/com/google/gwt/core/client/JsArrayNumber.java        Wed Apr 
 8  
17:12:14 2009
@@ -1,12 +1,12 @@
  /*
   * Copyright 2008 Google Inc.
- *
+ *
   * Licensed 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
@@ -17,13 +17,13 @@

  /**
   * A simple wrapper around a homogeneous native array of numeric values.
- *
+ *
   * All native JavaScript numeric values are implicitly double-precision,  
so only
   * double values may be set and retrieved.
- *
+ *
   * This class may not be directly instantiated, and can only be returned  
from a
   * native method. For example,
- *
+ *
   * <code>
   * native JsArrayNumber getNativeArray() /*-{
   *   return [1.1, 2.2, 3.3];
@@ -31,17 +31,17 @@
   * </code>
   */
  public class JsArrayNumber extends JavaScriptObject {
-
+
    protected JsArrayNumber() {
    }

    /**
     * Gets the value at a given index.
-   *
+   *
     * If an undefined or non-numeric value exists at the given index, a
     * type-conversion error will occur in hosted mode and unpredictable  
behavior
     * may occur in web mode.
-   *
+   *
     * @param index the index to be retrieved
     * @return the value at the given index
     */
@@ -51,23 +51,39 @@

    /**
     * Gets the length of the array.
-   *
+   *
     * @return the array length
     */
    public final native int length() /*-{
      return this.length;
    }-*/;

+
+  /**
+   * Pushes the given number onto the end of the array.
+   */
+  public final native void push(double value) /*-{
+    this[this.length] = value;
+  }-*/;
+
    /**
     * Sets the value value at a given index.
-   *
+   *
     * If the index is out of bounds, the value will still be set. The  
array's
     * length will be updated to encompass the bounds implied by the added  
value.
-   *
+   *
     * @param index the index to be set
     * @param value the value to be stored
     */
    public final native void set(int index, double value) /*-{
      this[index] = value;
+  }-*/;
+
+  /**
+   * Shifts the first value off the array.
+   * @return the shifted value
+   */
+  public final native double shift() /*-{
+    return this.shift();
    }-*/;
  }

Modified: trunk/user/src/com/google/gwt/core/client/JsArrayString.java
==============================================================================
--- trunk/user/src/com/google/gwt/core/client/JsArrayString.java        
(original)
+++ trunk/user/src/com/google/gwt/core/client/JsArrayString.java        Wed Apr 
 8  
17:12:14 2009
@@ -1,12 +1,12 @@
  /*
   * Copyright 2008 Google Inc.
- *
+ *
   * Licensed 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
@@ -17,10 +17,10 @@

  /**
   * A simple wrapper around a homogeneous native array of string values.
- *
+ *
   * This class may not be directly instantiated, and can only be returned  
from a
   * native method. For example,
- *
+ *
   * <code>
   * native JsArrayString getNativeArray() /*-{
   *   return ['foo', 'bar', 'baz'];
@@ -34,7 +34,7 @@

    /**
     * Gets the value at a given index.
-   *
+   *
     * @param index the index to be retrieved
     * @return the value at the given index, or <code>null</code> if none  
exists
     */
@@ -44,7 +44,7 @@

    /**
     * Gets the length of the array.
-   *
+   *
     * @return the array length
     */
    public final native int length() /*-{
@@ -52,15 +52,30 @@
    }-*/;

    /**
+   * Pushes the given value onto the end of the array.
+   */
+  public final native void push(String value) /*-{
+    this[this.length] = value;
+  }-*/;
+
+  /**
     * Sets the value value at a given index.
-   *
+   *
     * If the index is out of bounds, the value will still be set. The  
array's
     * length will be updated to encompass the bounds implied by the added  
value.
-   *
+   *
     * @param index the index to be set
     * @param value the value to be stored
     */
    public final native void set(int index, String value) /*-{
      this[index] = value;
+  }-*/;
+
+  /**
+   * Shifts the first value off the array.
+   * @return the shifted value
+   */
+  public final native String shift() /*-{
+    return this.shift();
    }-*/;
  }

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to