You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2010/10/18 21:31:59 UTC

svn commit: r1023964 - /commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java

Author: sebb
Date: Mon Oct 18 19:31:58 2010
New Revision: 1023964

URL: http://svn.apache.org/viewvc?rev=1023964&view=rev
Log:
Generics

Modified:
    commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java

Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java?rev=1023964&r1=1023963&r2=1023964&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/TransformedBuffer.java Mon Oct 18 19:31:58 2010
@@ -70,11 +70,11 @@ public class TransformedBuffer<E> extend
      * @throws IllegalArgumentException if buffer or transformer is null
      * @since Commons Collections 3.3
      */
-    // TODO: Generics
-    public static Buffer decorateTransform(Buffer buffer, Transformer transformer) {
-        TransformedBuffer decorated = new TransformedBuffer(buffer, transformer);
-        if (transformer != null && buffer != null && buffer.size() > 0) {
-            Object[] values = buffer.toArray();
+    public static <E> Buffer<E> decorateTransform(Buffer<E> buffer, Transformer<? super E, ? extends E> transformer) {
+        TransformedBuffer<E> decorated = new TransformedBuffer<E>(buffer, transformer); // throws IAE if buffer or transformer is null
+        if (buffer.size() > 0) {
+            @SuppressWarnings("unchecked") // buffer is type <E>
+            E[] values = (E[]) buffer.toArray();
             buffer.clear();
             for(int i=0; i<values.length; i++) {
                 decorated.decorated().add(transformer.transform(values[i]));