http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java
deleted file mode 100644
index 15d3ea9..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple;
-
-import org.apache.flink.util.StringUtils;
-
-/**
- * A tuple with 5 fields. Tuples are strongly typed; each field may be of a 
separate type.
- * The fields of the tuple can be accessed directly as public fields (f0, f1, 
...) or via their position
- * through the {@link #getField(int)} method. The tuple field positions start 
at zero.
- * <p>
- * Tuples are mutable types, meaning that their fields can be re-assigned. 
This allows functions that work
- * with Tuples to reuse objects in order to reduce pressure on the garbage 
collector.
- *
- * @see Tuple
- *
- * @param <T0> The type of field 0
- * @param <T1> The type of field 1
- * @param <T2> The type of field 2
- * @param <T3> The type of field 3
- * @param <T4> The type of field 4
- */
-public class Tuple5<T0, T1, T2, T3, T4> extends Tuple {
-
-       private static final long serialVersionUID = 1L;
-
-       /** Field 0 of the tuple. */
-       public T0 f0;
-       /** Field 1 of the tuple. */
-       public T1 f1;
-       /** Field 2 of the tuple. */
-       public T2 f2;
-       /** Field 3 of the tuple. */
-       public T3 f3;
-       /** Field 4 of the tuple. */
-       public T4 f4;
-
-       /**
-        * Creates a new tuple where all fields are null.
-        */
-       public Tuple5() {}
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        */
-       public Tuple5(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-       }
-
-       @Override
-       public int getArity() { return 5; }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> T getField(int pos) {
-               switch(pos) {
-                       case 0: return (T) this.f0;
-                       case 1: return (T) this.f1;
-                       case 2: return (T) this.f2;
-                       case 3: return (T) this.f3;
-                       case 4: return (T) this.f4;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> void setField(T value, int pos) {
-               switch(pos) {
-                       case 0:
-                               this.f0 = (T0) value;
-                               break;
-                       case 1:
-                               this.f1 = (T1) value;
-                               break;
-                       case 2:
-                               this.f2 = (T2) value;
-                               break;
-                       case 3:
-                               this.f3 = (T3) value;
-                               break;
-                       case 4:
-                               this.f4 = (T4) value;
-                               break;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       /**
-        * Sets new values to all fields of the tuple.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        */
-       public void setFields(T0 value0, T1 value1, T2 value2, T3 value3, T4 
value4) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-       }
-
-
-       // 
-------------------------------------------------------------------------------------------------
-       // standard utilities
-       // 
-------------------------------------------------------------------------------------------------
-
-       /**
-        * Creates a string representation of the tuple in the form
-        * (f0, f1, f2, f3, f4),
-        * where the individual fields are the value returned by calling {@link 
Object#toString} on that field.
-        * @return The string representation of the tuple.
-        */
-       @Override
-       public String toString() {
-               return "(" + StringUtils.arrayAwareToString(this.f0)
-                       + "," + StringUtils.arrayAwareToString(this.f1)
-                       + "," + StringUtils.arrayAwareToString(this.f2)
-                       + "," + StringUtils.arrayAwareToString(this.f3)
-                       + "," + StringUtils.arrayAwareToString(this.f4)
-                       + ")";
-       }
-
-       /**
-        * Deep equality for tuples by calling equals() on the tuple members
-        * @param o the object checked for equality
-        * @return true if this is equal to o.
-        */
-       @Override
-       public boolean equals(Object o) {
-               if(this == o) { return true; }
-               if (!(o instanceof Tuple5)) { return false; }
-               @SuppressWarnings("rawtypes")
-               Tuple5 tuple = (Tuple5) o;
-               if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { 
return false; }
-               if (f1 != null ? !f1.equals(tuple.f1) : tuple.f1 != null) { 
return false; }
-               if (f2 != null ? !f2.equals(tuple.f2) : tuple.f2 != null) { 
return false; }
-               if (f3 != null ? !f3.equals(tuple.f3) : tuple.f3 != null) { 
return false; }
-               if (f4 != null ? !f4.equals(tuple.f4) : tuple.f4 != null) { 
return false; }
-               return true;
-       }
-
-       @Override
-       public int hashCode() {
-               int result = f0 != null ? f0.hashCode() : 0;
-               result = 31 * result + (f1 != null ? f1.hashCode() : 0);
-               result = 31 * result + (f2 != null ? f2.hashCode() : 0);
-               result = 31 * result + (f3 != null ? f3.hashCode() : 0);
-               result = 31 * result + (f4 != null ? f4.hashCode() : 0);
-               return result;
-       }
-
-       /**
-       * Shallow tuple copy.
-       * @return A new Tuple with the same fields as this.
-       */
-       @Override
-       @SuppressWarnings("unchecked")
-       public Tuple5<T0,T1,T2,T3,T4> copy(){ 
-               return new Tuple5<T0,T1,T2,T3,T4>(this.f0,
-                       this.f1,
-                       this.f2,
-                       this.f3,
-                       this.f4);
-       }
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        * This is more convenient than using the constructor, because the 
compiler can
-        * infer the generic type arguments implicitly. For example:
-        * {@code Tuple3.of(n, x, s)}
-        * instead of
-        * {@code new Tuple3<Integer, Double, String>(n, x, s)}
-        */
-       public static <T0,T1,T2,T3,T4> Tuple5<T0,T1,T2,T3,T4> of(T0 value0, T1 
value1, T2 value2, T3 value3, T4 value4) {
-               return new Tuple5<T0,T1,T2,T3,T4>(value0, value1, value2, 
value3, value4);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java
deleted file mode 100644
index 1d45a26..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple;
-
-import org.apache.flink.util.StringUtils;
-
-/**
- * A tuple with 6 fields. Tuples are strongly typed; each field may be of a 
separate type.
- * The fields of the tuple can be accessed directly as public fields (f0, f1, 
...) or via their position
- * through the {@link #getField(int)} method. The tuple field positions start 
at zero.
- * <p>
- * Tuples are mutable types, meaning that their fields can be re-assigned. 
This allows functions that work
- * with Tuples to reuse objects in order to reduce pressure on the garbage 
collector.
- *
- * @see Tuple
- *
- * @param <T0> The type of field 0
- * @param <T1> The type of field 1
- * @param <T2> The type of field 2
- * @param <T3> The type of field 3
- * @param <T4> The type of field 4
- * @param <T5> The type of field 5
- */
-public class Tuple6<T0, T1, T2, T3, T4, T5> extends Tuple {
-
-       private static final long serialVersionUID = 1L;
-
-       /** Field 0 of the tuple. */
-       public T0 f0;
-       /** Field 1 of the tuple. */
-       public T1 f1;
-       /** Field 2 of the tuple. */
-       public T2 f2;
-       /** Field 3 of the tuple. */
-       public T3 f3;
-       /** Field 4 of the tuple. */
-       public T4 f4;
-       /** Field 5 of the tuple. */
-       public T5 f5;
-
-       /**
-        * Creates a new tuple where all fields are null.
-        */
-       public Tuple6() {}
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        */
-       public Tuple6(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 
value5) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-       }
-
-       @Override
-       public int getArity() { return 6; }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> T getField(int pos) {
-               switch(pos) {
-                       case 0: return (T) this.f0;
-                       case 1: return (T) this.f1;
-                       case 2: return (T) this.f2;
-                       case 3: return (T) this.f3;
-                       case 4: return (T) this.f4;
-                       case 5: return (T) this.f5;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> void setField(T value, int pos) {
-               switch(pos) {
-                       case 0:
-                               this.f0 = (T0) value;
-                               break;
-                       case 1:
-                               this.f1 = (T1) value;
-                               break;
-                       case 2:
-                               this.f2 = (T2) value;
-                               break;
-                       case 3:
-                               this.f3 = (T3) value;
-                               break;
-                       case 4:
-                               this.f4 = (T4) value;
-                               break;
-                       case 5:
-                               this.f5 = (T5) value;
-                               break;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       /**
-        * Sets new values to all fields of the tuple.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        */
-       public void setFields(T0 value0, T1 value1, T2 value2, T3 value3, T4 
value4, T5 value5) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-       }
-
-
-       // 
-------------------------------------------------------------------------------------------------
-       // standard utilities
-       // 
-------------------------------------------------------------------------------------------------
-
-       /**
-        * Creates a string representation of the tuple in the form
-        * (f0, f1, f2, f3, f4, f5),
-        * where the individual fields are the value returned by calling {@link 
Object#toString} on that field.
-        * @return The string representation of the tuple.
-        */
-       @Override
-       public String toString() {
-               return "(" + StringUtils.arrayAwareToString(this.f0)
-                       + "," + StringUtils.arrayAwareToString(this.f1)
-                       + "," + StringUtils.arrayAwareToString(this.f2)
-                       + "," + StringUtils.arrayAwareToString(this.f3)
-                       + "," + StringUtils.arrayAwareToString(this.f4)
-                       + "," + StringUtils.arrayAwareToString(this.f5)
-                       + ")";
-       }
-
-       /**
-        * Deep equality for tuples by calling equals() on the tuple members
-        * @param o the object checked for equality
-        * @return true if this is equal to o.
-        */
-       @Override
-       public boolean equals(Object o) {
-               if(this == o) { return true; }
-               if (!(o instanceof Tuple6)) { return false; }
-               @SuppressWarnings("rawtypes")
-               Tuple6 tuple = (Tuple6) o;
-               if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { 
return false; }
-               if (f1 != null ? !f1.equals(tuple.f1) : tuple.f1 != null) { 
return false; }
-               if (f2 != null ? !f2.equals(tuple.f2) : tuple.f2 != null) { 
return false; }
-               if (f3 != null ? !f3.equals(tuple.f3) : tuple.f3 != null) { 
return false; }
-               if (f4 != null ? !f4.equals(tuple.f4) : tuple.f4 != null) { 
return false; }
-               if (f5 != null ? !f5.equals(tuple.f5) : tuple.f5 != null) { 
return false; }
-               return true;
-       }
-
-       @Override
-       public int hashCode() {
-               int result = f0 != null ? f0.hashCode() : 0;
-               result = 31 * result + (f1 != null ? f1.hashCode() : 0);
-               result = 31 * result + (f2 != null ? f2.hashCode() : 0);
-               result = 31 * result + (f3 != null ? f3.hashCode() : 0);
-               result = 31 * result + (f4 != null ? f4.hashCode() : 0);
-               result = 31 * result + (f5 != null ? f5.hashCode() : 0);
-               return result;
-       }
-
-       /**
-       * Shallow tuple copy.
-       * @return A new Tuple with the same fields as this.
-       */
-       @Override
-       @SuppressWarnings("unchecked")
-       public Tuple6<T0,T1,T2,T3,T4,T5> copy(){ 
-               return new Tuple6<T0,T1,T2,T3,T4,T5>(this.f0,
-                       this.f1,
-                       this.f2,
-                       this.f3,
-                       this.f4,
-                       this.f5);
-       }
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        * This is more convenient than using the constructor, because the 
compiler can
-        * infer the generic type arguments implicitly. For example:
-        * {@code Tuple3.of(n, x, s)}
-        * instead of
-        * {@code new Tuple3<Integer, Double, String>(n, x, s)}
-        */
-       public static <T0,T1,T2,T3,T4,T5> Tuple6<T0,T1,T2,T3,T4,T5> of(T0 
value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) {
-               return new Tuple6<T0,T1,T2,T3,T4,T5>(value0, value1, value2, 
value3, value4, value5);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java
deleted file mode 100644
index 2008117..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple;
-
-import org.apache.flink.util.StringUtils;
-
-/**
- * A tuple with 7 fields. Tuples are strongly typed; each field may be of a 
separate type.
- * The fields of the tuple can be accessed directly as public fields (f0, f1, 
...) or via their position
- * through the {@link #getField(int)} method. The tuple field positions start 
at zero.
- * <p>
- * Tuples are mutable types, meaning that their fields can be re-assigned. 
This allows functions that work
- * with Tuples to reuse objects in order to reduce pressure on the garbage 
collector.
- *
- * @see Tuple
- *
- * @param <T0> The type of field 0
- * @param <T1> The type of field 1
- * @param <T2> The type of field 2
- * @param <T3> The type of field 3
- * @param <T4> The type of field 4
- * @param <T5> The type of field 5
- * @param <T6> The type of field 6
- */
-public class Tuple7<T0, T1, T2, T3, T4, T5, T6> extends Tuple {
-
-       private static final long serialVersionUID = 1L;
-
-       /** Field 0 of the tuple. */
-       public T0 f0;
-       /** Field 1 of the tuple. */
-       public T1 f1;
-       /** Field 2 of the tuple. */
-       public T2 f2;
-       /** Field 3 of the tuple. */
-       public T3 f3;
-       /** Field 4 of the tuple. */
-       public T4 f4;
-       /** Field 5 of the tuple. */
-       public T5 f5;
-       /** Field 6 of the tuple. */
-       public T6 f6;
-
-       /**
-        * Creates a new tuple where all fields are null.
-        */
-       public Tuple7() {}
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        */
-       public Tuple7(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 
value5, T6 value6) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-       }
-
-       @Override
-       public int getArity() { return 7; }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> T getField(int pos) {
-               switch(pos) {
-                       case 0: return (T) this.f0;
-                       case 1: return (T) this.f1;
-                       case 2: return (T) this.f2;
-                       case 3: return (T) this.f3;
-                       case 4: return (T) this.f4;
-                       case 5: return (T) this.f5;
-                       case 6: return (T) this.f6;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> void setField(T value, int pos) {
-               switch(pos) {
-                       case 0:
-                               this.f0 = (T0) value;
-                               break;
-                       case 1:
-                               this.f1 = (T1) value;
-                               break;
-                       case 2:
-                               this.f2 = (T2) value;
-                               break;
-                       case 3:
-                               this.f3 = (T3) value;
-                               break;
-                       case 4:
-                               this.f4 = (T4) value;
-                               break;
-                       case 5:
-                               this.f5 = (T5) value;
-                               break;
-                       case 6:
-                               this.f6 = (T6) value;
-                               break;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       /**
-        * Sets new values to all fields of the tuple.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        */
-       public void setFields(T0 value0, T1 value1, T2 value2, T3 value3, T4 
value4, T5 value5, T6 value6) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-       }
-
-
-       // 
-------------------------------------------------------------------------------------------------
-       // standard utilities
-       // 
-------------------------------------------------------------------------------------------------
-
-       /**
-        * Creates a string representation of the tuple in the form
-        * (f0, f1, f2, f3, f4, f5, f6),
-        * where the individual fields are the value returned by calling {@link 
Object#toString} on that field.
-        * @return The string representation of the tuple.
-        */
-       @Override
-       public String toString() {
-               return "(" + StringUtils.arrayAwareToString(this.f0)
-                       + "," + StringUtils.arrayAwareToString(this.f1)
-                       + "," + StringUtils.arrayAwareToString(this.f2)
-                       + "," + StringUtils.arrayAwareToString(this.f3)
-                       + "," + StringUtils.arrayAwareToString(this.f4)
-                       + "," + StringUtils.arrayAwareToString(this.f5)
-                       + "," + StringUtils.arrayAwareToString(this.f6)
-                       + ")";
-       }
-
-       /**
-        * Deep equality for tuples by calling equals() on the tuple members
-        * @param o the object checked for equality
-        * @return true if this is equal to o.
-        */
-       @Override
-       public boolean equals(Object o) {
-               if(this == o) { return true; }
-               if (!(o instanceof Tuple7)) { return false; }
-               @SuppressWarnings("rawtypes")
-               Tuple7 tuple = (Tuple7) o;
-               if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { 
return false; }
-               if (f1 != null ? !f1.equals(tuple.f1) : tuple.f1 != null) { 
return false; }
-               if (f2 != null ? !f2.equals(tuple.f2) : tuple.f2 != null) { 
return false; }
-               if (f3 != null ? !f3.equals(tuple.f3) : tuple.f3 != null) { 
return false; }
-               if (f4 != null ? !f4.equals(tuple.f4) : tuple.f4 != null) { 
return false; }
-               if (f5 != null ? !f5.equals(tuple.f5) : tuple.f5 != null) { 
return false; }
-               if (f6 != null ? !f6.equals(tuple.f6) : tuple.f6 != null) { 
return false; }
-               return true;
-       }
-
-       @Override
-       public int hashCode() {
-               int result = f0 != null ? f0.hashCode() : 0;
-               result = 31 * result + (f1 != null ? f1.hashCode() : 0);
-               result = 31 * result + (f2 != null ? f2.hashCode() : 0);
-               result = 31 * result + (f3 != null ? f3.hashCode() : 0);
-               result = 31 * result + (f4 != null ? f4.hashCode() : 0);
-               result = 31 * result + (f5 != null ? f5.hashCode() : 0);
-               result = 31 * result + (f6 != null ? f6.hashCode() : 0);
-               return result;
-       }
-
-       /**
-       * Shallow tuple copy.
-       * @return A new Tuple with the same fields as this.
-       */
-       @Override
-       @SuppressWarnings("unchecked")
-       public Tuple7<T0,T1,T2,T3,T4,T5,T6> copy(){ 
-               return new Tuple7<T0,T1,T2,T3,T4,T5,T6>(this.f0,
-                       this.f1,
-                       this.f2,
-                       this.f3,
-                       this.f4,
-                       this.f5,
-                       this.f6);
-       }
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        * This is more convenient than using the constructor, because the 
compiler can
-        * infer the generic type arguments implicitly. For example:
-        * {@code Tuple3.of(n, x, s)}
-        * instead of
-        * {@code new Tuple3<Integer, Double, String>(n, x, s)}
-        */
-       public static <T0,T1,T2,T3,T4,T5,T6> Tuple7<T0,T1,T2,T3,T4,T5,T6> of(T0 
value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6) {
-               return new Tuple7<T0,T1,T2,T3,T4,T5,T6>(value0, value1, value2, 
value3, value4, value5, value6);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java
deleted file mode 100644
index 7aaa265..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple;
-
-import org.apache.flink.util.StringUtils;
-
-/**
- * A tuple with 8 fields. Tuples are strongly typed; each field may be of a 
separate type.
- * The fields of the tuple can be accessed directly as public fields (f0, f1, 
...) or via their position
- * through the {@link #getField(int)} method. The tuple field positions start 
at zero.
- * <p>
- * Tuples are mutable types, meaning that their fields can be re-assigned. 
This allows functions that work
- * with Tuples to reuse objects in order to reduce pressure on the garbage 
collector.
- *
- * @see Tuple
- *
- * @param <T0> The type of field 0
- * @param <T1> The type of field 1
- * @param <T2> The type of field 2
- * @param <T3> The type of field 3
- * @param <T4> The type of field 4
- * @param <T5> The type of field 5
- * @param <T6> The type of field 6
- * @param <T7> The type of field 7
- */
-public class Tuple8<T0, T1, T2, T3, T4, T5, T6, T7> extends Tuple {
-
-       private static final long serialVersionUID = 1L;
-
-       /** Field 0 of the tuple. */
-       public T0 f0;
-       /** Field 1 of the tuple. */
-       public T1 f1;
-       /** Field 2 of the tuple. */
-       public T2 f2;
-       /** Field 3 of the tuple. */
-       public T3 f3;
-       /** Field 4 of the tuple. */
-       public T4 f4;
-       /** Field 5 of the tuple. */
-       public T5 f5;
-       /** Field 6 of the tuple. */
-       public T6 f6;
-       /** Field 7 of the tuple. */
-       public T7 f7;
-
-       /**
-        * Creates a new tuple where all fields are null.
-        */
-       public Tuple8() {}
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        * @param value7 The value for field 7
-        */
-       public Tuple8(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 
value5, T6 value6, T7 value7) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-               this.f7 = value7;
-       }
-
-       @Override
-       public int getArity() { return 8; }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> T getField(int pos) {
-               switch(pos) {
-                       case 0: return (T) this.f0;
-                       case 1: return (T) this.f1;
-                       case 2: return (T) this.f2;
-                       case 3: return (T) this.f3;
-                       case 4: return (T) this.f4;
-                       case 5: return (T) this.f5;
-                       case 6: return (T) this.f6;
-                       case 7: return (T) this.f7;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> void setField(T value, int pos) {
-               switch(pos) {
-                       case 0:
-                               this.f0 = (T0) value;
-                               break;
-                       case 1:
-                               this.f1 = (T1) value;
-                               break;
-                       case 2:
-                               this.f2 = (T2) value;
-                               break;
-                       case 3:
-                               this.f3 = (T3) value;
-                               break;
-                       case 4:
-                               this.f4 = (T4) value;
-                               break;
-                       case 5:
-                               this.f5 = (T5) value;
-                               break;
-                       case 6:
-                               this.f6 = (T6) value;
-                               break;
-                       case 7:
-                               this.f7 = (T7) value;
-                               break;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       /**
-        * Sets new values to all fields of the tuple.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        * @param value7 The value for field 7
-        */
-       public void setFields(T0 value0, T1 value1, T2 value2, T3 value3, T4 
value4, T5 value5, T6 value6, T7 value7) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-               this.f7 = value7;
-       }
-
-
-       // 
-------------------------------------------------------------------------------------------------
-       // standard utilities
-       // 
-------------------------------------------------------------------------------------------------
-
-       /**
-        * Creates a string representation of the tuple in the form
-        * (f0, f1, f2, f3, f4, f5, f6, f7),
-        * where the individual fields are the value returned by calling {@link 
Object#toString} on that field.
-        * @return The string representation of the tuple.
-        */
-       @Override
-       public String toString() {
-               return "(" + StringUtils.arrayAwareToString(this.f0)
-                       + "," + StringUtils.arrayAwareToString(this.f1)
-                       + "," + StringUtils.arrayAwareToString(this.f2)
-                       + "," + StringUtils.arrayAwareToString(this.f3)
-                       + "," + StringUtils.arrayAwareToString(this.f4)
-                       + "," + StringUtils.arrayAwareToString(this.f5)
-                       + "," + StringUtils.arrayAwareToString(this.f6)
-                       + "," + StringUtils.arrayAwareToString(this.f7)
-                       + ")";
-       }
-
-       /**
-        * Deep equality for tuples by calling equals() on the tuple members
-        * @param o the object checked for equality
-        * @return true if this is equal to o.
-        */
-       @Override
-       public boolean equals(Object o) {
-               if(this == o) { return true; }
-               if (!(o instanceof Tuple8)) { return false; }
-               @SuppressWarnings("rawtypes")
-               Tuple8 tuple = (Tuple8) o;
-               if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { 
return false; }
-               if (f1 != null ? !f1.equals(tuple.f1) : tuple.f1 != null) { 
return false; }
-               if (f2 != null ? !f2.equals(tuple.f2) : tuple.f2 != null) { 
return false; }
-               if (f3 != null ? !f3.equals(tuple.f3) : tuple.f3 != null) { 
return false; }
-               if (f4 != null ? !f4.equals(tuple.f4) : tuple.f4 != null) { 
return false; }
-               if (f5 != null ? !f5.equals(tuple.f5) : tuple.f5 != null) { 
return false; }
-               if (f6 != null ? !f6.equals(tuple.f6) : tuple.f6 != null) { 
return false; }
-               if (f7 != null ? !f7.equals(tuple.f7) : tuple.f7 != null) { 
return false; }
-               return true;
-       }
-
-       @Override
-       public int hashCode() {
-               int result = f0 != null ? f0.hashCode() : 0;
-               result = 31 * result + (f1 != null ? f1.hashCode() : 0);
-               result = 31 * result + (f2 != null ? f2.hashCode() : 0);
-               result = 31 * result + (f3 != null ? f3.hashCode() : 0);
-               result = 31 * result + (f4 != null ? f4.hashCode() : 0);
-               result = 31 * result + (f5 != null ? f5.hashCode() : 0);
-               result = 31 * result + (f6 != null ? f6.hashCode() : 0);
-               result = 31 * result + (f7 != null ? f7.hashCode() : 0);
-               return result;
-       }
-
-       /**
-       * Shallow tuple copy.
-       * @return A new Tuple with the same fields as this.
-       */
-       @Override
-       @SuppressWarnings("unchecked")
-       public Tuple8<T0,T1,T2,T3,T4,T5,T6,T7> copy(){ 
-               return new Tuple8<T0,T1,T2,T3,T4,T5,T6,T7>(this.f0,
-                       this.f1,
-                       this.f2,
-                       this.f3,
-                       this.f4,
-                       this.f5,
-                       this.f6,
-                       this.f7);
-       }
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        * This is more convenient than using the constructor, because the 
compiler can
-        * infer the generic type arguments implicitly. For example:
-        * {@code Tuple3.of(n, x, s)}
-        * instead of
-        * {@code new Tuple3<Integer, Double, String>(n, x, s)}
-        */
-       public static <T0,T1,T2,T3,T4,T5,T6,T7> Tuple8<T0,T1,T2,T3,T4,T5,T6,T7> 
of(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, 
T7 value7) {
-               return new Tuple8<T0,T1,T2,T3,T4,T5,T6,T7>(value0, value1, 
value2, value3, value4, value5, value6, value7);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java
deleted file mode 100644
index 86ea998..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple;
-
-import org.apache.flink.util.StringUtils;
-
-/**
- * A tuple with 9 fields. Tuples are strongly typed; each field may be of a 
separate type.
- * The fields of the tuple can be accessed directly as public fields (f0, f1, 
...) or via their position
- * through the {@link #getField(int)} method. The tuple field positions start 
at zero.
- * <p>
- * Tuples are mutable types, meaning that their fields can be re-assigned. 
This allows functions that work
- * with Tuples to reuse objects in order to reduce pressure on the garbage 
collector.
- *
- * @see Tuple
- *
- * @param <T0> The type of field 0
- * @param <T1> The type of field 1
- * @param <T2> The type of field 2
- * @param <T3> The type of field 3
- * @param <T4> The type of field 4
- * @param <T5> The type of field 5
- * @param <T6> The type of field 6
- * @param <T7> The type of field 7
- * @param <T8> The type of field 8
- */
-public class Tuple9<T0, T1, T2, T3, T4, T5, T6, T7, T8> extends Tuple {
-
-       private static final long serialVersionUID = 1L;
-
-       /** Field 0 of the tuple. */
-       public T0 f0;
-       /** Field 1 of the tuple. */
-       public T1 f1;
-       /** Field 2 of the tuple. */
-       public T2 f2;
-       /** Field 3 of the tuple. */
-       public T3 f3;
-       /** Field 4 of the tuple. */
-       public T4 f4;
-       /** Field 5 of the tuple. */
-       public T5 f5;
-       /** Field 6 of the tuple. */
-       public T6 f6;
-       /** Field 7 of the tuple. */
-       public T7 f7;
-       /** Field 8 of the tuple. */
-       public T8 f8;
-
-       /**
-        * Creates a new tuple where all fields are null.
-        */
-       public Tuple9() {}
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        * @param value7 The value for field 7
-        * @param value8 The value for field 8
-        */
-       public Tuple9(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 
value5, T6 value6, T7 value7, T8 value8) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-               this.f7 = value7;
-               this.f8 = value8;
-       }
-
-       @Override
-       public int getArity() { return 9; }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> T getField(int pos) {
-               switch(pos) {
-                       case 0: return (T) this.f0;
-                       case 1: return (T) this.f1;
-                       case 2: return (T) this.f2;
-                       case 3: return (T) this.f3;
-                       case 4: return (T) this.f4;
-                       case 5: return (T) this.f5;
-                       case 6: return (T) this.f6;
-                       case 7: return (T) this.f7;
-                       case 8: return (T) this.f8;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       @Override
-       @SuppressWarnings("unchecked")
-       public <T> void setField(T value, int pos) {
-               switch(pos) {
-                       case 0:
-                               this.f0 = (T0) value;
-                               break;
-                       case 1:
-                               this.f1 = (T1) value;
-                               break;
-                       case 2:
-                               this.f2 = (T2) value;
-                               break;
-                       case 3:
-                               this.f3 = (T3) value;
-                               break;
-                       case 4:
-                               this.f4 = (T4) value;
-                               break;
-                       case 5:
-                               this.f5 = (T5) value;
-                               break;
-                       case 6:
-                               this.f6 = (T6) value;
-                               break;
-                       case 7:
-                               this.f7 = (T7) value;
-                               break;
-                       case 8:
-                               this.f8 = (T8) value;
-                               break;
-                       default: throw new 
IndexOutOfBoundsException(String.valueOf(pos));
-               }
-       }
-
-       /**
-        * Sets new values to all fields of the tuple.
-        *
-        * @param value0 The value for field 0
-        * @param value1 The value for field 1
-        * @param value2 The value for field 2
-        * @param value3 The value for field 3
-        * @param value4 The value for field 4
-        * @param value5 The value for field 5
-        * @param value6 The value for field 6
-        * @param value7 The value for field 7
-        * @param value8 The value for field 8
-        */
-       public void setFields(T0 value0, T1 value1, T2 value2, T3 value3, T4 
value4, T5 value5, T6 value6, T7 value7, T8 value8) {
-               this.f0 = value0;
-               this.f1 = value1;
-               this.f2 = value2;
-               this.f3 = value3;
-               this.f4 = value4;
-               this.f5 = value5;
-               this.f6 = value6;
-               this.f7 = value7;
-               this.f8 = value8;
-       }
-
-
-       // 
-------------------------------------------------------------------------------------------------
-       // standard utilities
-       // 
-------------------------------------------------------------------------------------------------
-
-       /**
-        * Creates a string representation of the tuple in the form
-        * (f0, f1, f2, f3, f4, f5, f6, f7, f8),
-        * where the individual fields are the value returned by calling {@link 
Object#toString} on that field.
-        * @return The string representation of the tuple.
-        */
-       @Override
-       public String toString() {
-               return "(" + StringUtils.arrayAwareToString(this.f0)
-                       + "," + StringUtils.arrayAwareToString(this.f1)
-                       + "," + StringUtils.arrayAwareToString(this.f2)
-                       + "," + StringUtils.arrayAwareToString(this.f3)
-                       + "," + StringUtils.arrayAwareToString(this.f4)
-                       + "," + StringUtils.arrayAwareToString(this.f5)
-                       + "," + StringUtils.arrayAwareToString(this.f6)
-                       + "," + StringUtils.arrayAwareToString(this.f7)
-                       + "," + StringUtils.arrayAwareToString(this.f8)
-                       + ")";
-       }
-
-       /**
-        * Deep equality for tuples by calling equals() on the tuple members
-        * @param o the object checked for equality
-        * @return true if this is equal to o.
-        */
-       @Override
-       public boolean equals(Object o) {
-               if(this == o) { return true; }
-               if (!(o instanceof Tuple9)) { return false; }
-               @SuppressWarnings("rawtypes")
-               Tuple9 tuple = (Tuple9) o;
-               if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { 
return false; }
-               if (f1 != null ? !f1.equals(tuple.f1) : tuple.f1 != null) { 
return false; }
-               if (f2 != null ? !f2.equals(tuple.f2) : tuple.f2 != null) { 
return false; }
-               if (f3 != null ? !f3.equals(tuple.f3) : tuple.f3 != null) { 
return false; }
-               if (f4 != null ? !f4.equals(tuple.f4) : tuple.f4 != null) { 
return false; }
-               if (f5 != null ? !f5.equals(tuple.f5) : tuple.f5 != null) { 
return false; }
-               if (f6 != null ? !f6.equals(tuple.f6) : tuple.f6 != null) { 
return false; }
-               if (f7 != null ? !f7.equals(tuple.f7) : tuple.f7 != null) { 
return false; }
-               if (f8 != null ? !f8.equals(tuple.f8) : tuple.f8 != null) { 
return false; }
-               return true;
-       }
-
-       @Override
-       public int hashCode() {
-               int result = f0 != null ? f0.hashCode() : 0;
-               result = 31 * result + (f1 != null ? f1.hashCode() : 0);
-               result = 31 * result + (f2 != null ? f2.hashCode() : 0);
-               result = 31 * result + (f3 != null ? f3.hashCode() : 0);
-               result = 31 * result + (f4 != null ? f4.hashCode() : 0);
-               result = 31 * result + (f5 != null ? f5.hashCode() : 0);
-               result = 31 * result + (f6 != null ? f6.hashCode() : 0);
-               result = 31 * result + (f7 != null ? f7.hashCode() : 0);
-               result = 31 * result + (f8 != null ? f8.hashCode() : 0);
-               return result;
-       }
-
-       /**
-       * Shallow tuple copy.
-       * @return A new Tuple with the same fields as this.
-       */
-       @Override
-       @SuppressWarnings("unchecked")
-       public Tuple9<T0,T1,T2,T3,T4,T5,T6,T7,T8> copy(){ 
-               return new Tuple9<T0,T1,T2,T3,T4,T5,T6,T7,T8>(this.f0,
-                       this.f1,
-                       this.f2,
-                       this.f3,
-                       this.f4,
-                       this.f5,
-                       this.f6,
-                       this.f7,
-                       this.f8);
-       }
-
-       /**
-        * Creates a new tuple and assigns the given values to the tuple's 
fields.
-        * This is more convenient than using the constructor, because the 
compiler can
-        * infer the generic type arguments implicitly. For example:
-        * {@code Tuple3.of(n, x, s)}
-        * instead of
-        * {@code new Tuple3<Integer, Double, String>(n, x, s)}
-        */
-       public static <T0,T1,T2,T3,T4,T5,T6,T7,T8> 
Tuple9<T0,T1,T2,T3,T4,T5,T6,T7,T8> of(T0 value0, T1 value1, T2 value2, T3 
value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8) {
-               return new Tuple9<T0,T1,T2,T3,T4,T5,T6,T7,T8>(value0, value1, 
value2, value3, value4, value5, value6, value7, value8);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java
deleted file mode 100644
index 70b9393..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java
+++ /dev/null
@@ -1,879 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.flink.api.java.tuple;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Scanner;
-
-import com.google.common.base.Charsets;
-import com.google.common.io.Files;
-
-/**
- * Source code generator for tuple classes and classes which depend on the 
arity of tuples.
- */
-class TupleGenerator {
-
-       // Parameters for tuple classes
-
-       private static final String ROOT_DIRECTORY = "./src/main/java";
-
-       private static final String PACKAGE = "org.apache.flink.api.java.tuple";
-
-       private static final String BUILDER_SUFFIX = "builder";
-
-       private static final String GEN_TYPE_PREFIX = "T";
-
-       // Parameters for tuple-dependent classes
-       private static final String BEGIN_INDICATOR = 
"BEGIN_OF_TUPLE_DEPENDENT_CODE";
-
-       private static final String END_INDICATOR = 
"END_OF_TUPLE_DEPENDENT_CODE";
-
-       // Parameters for CsvReader
-       private static final String CSV_READER_PACKAGE = 
"org.apache.flink.api.java.io";
-
-       private static final String CSV_READER_CLASSNAME = "CsvReader";
-
-       // Parameters for TupleTypeInfo
-       private static final String TUPLE_PACKAGE = 
"org.apache.flink.api.java.tuple";
-
-       private static final String TUPLE_CLASSNAME = "Tuple";
-
-       // Parameters for ProjectOperator
-       private static final String PROJECT_OPERATOR_PACKAGE = 
"org.apache.flink.api.java.operators";
-
-       private static final String PROJECT_OPERATOR_CLASSNAME = 
"ProjectOperator";
-
-       // Parameters for JoinOperator
-       private static final String JOIN_OPERATOR_PACKAGE = 
"org.apache.flink.api.java.operators";
-
-       private static final String JOIN_OPERATOR_CLASSNAME = "JoinOperator";
-
-       // parameters for CrossOperator
-       private static final String CROSS_OPERATOR_PACKAGE = 
"org.apache.flink.api.java.operators";
-
-       private static final String CROSS_OPERATOR_CLASSNAME = "CrossOperator";
-
-       // min. and max. tuple arity
-       private static final int FIRST = 1;
-
-       private static final int LAST = 25;
-
-       public static void main(String[] args) throws Exception {
-               System.err.println("Current directory 
"+System.getProperty("user.dir"));
-               String rootDir = ROOT_DIRECTORY;
-               if(args.length > 0) {
-                       rootDir = args[0] + "/" + ROOT_DIRECTORY;
-               }
-               System.err.println("Using root directory: "+rootDir);
-               File root = new File(rootDir);
-
-               createTupleClasses(root);
-
-               createTupleBuilderClasses(root);
-
-               modifyCsvReader(root);
-
-               modifyTupleType(root);
-
-               modifyProjectOperator(root);
-
-               modifyJoinProjectOperator(root);
-
-               modifyCrossProjectOperator(root);
-
-       }
-
-       private static File getPackage(File root, String packageString) {
-               File dir = new File(root, packageString.replace('.', '/'));
-               if (!dir.exists() && dir.isDirectory()) {
-                       System.err.println("None existent directory: " + 
dir.getAbsolutePath());
-                       System.exit(1);
-               }
-               return dir;
-       }
-
-       private static void insertCodeIntoFile(String code, File file) throws 
IOException {
-               String fileContent = Files.toString(file, Charsets.UTF_8);
-               Scanner s = new Scanner(fileContent);
-
-               StringBuilder sb = new StringBuilder();
-               String line = null;
-
-               boolean indicatorFound = false;
-
-               // add file beginning
-               while (s.hasNextLine() && (line = s.nextLine()) != null) {
-                       sb.append(line + "\n");
-                       if (line.contains(BEGIN_INDICATOR)) {
-                               indicatorFound = true;
-                               break;
-                       }
-               }
-
-               if(!indicatorFound) {
-                       System.out.println("No indicator found in '" + file + 
"'. Will skip code generation.");
-                       s.close();
-                       return;
-               }
-
-               // add generator signature
-               sb.append("\t// GENERATED FROM " + 
TupleGenerator.class.getName() + ".\n");
-
-               // add tuple dependent code
-               sb.append(code + "\n");
-
-               // skip generated code
-               while (s.hasNextLine() && (line = s.nextLine()) != null) {
-                       if (line.contains(END_INDICATOR)) {
-                               sb.append(line + "\n");
-                               break;
-                       }
-               }
-
-               // add file ending
-               while (s.hasNextLine() && (line = s.nextLine()) != null) {
-                       sb.append(line + "\n");
-               }
-               s.close();
-               Files.write(sb.toString(), file, Charsets.UTF_8);
-       }
-
-       private static void modifyCrossProjectOperator(File root) throws 
IOException {
-               // generate code
-               StringBuilder sb = new StringBuilder();
-               
-               // method begin
-               sb.append("\n");
-               
-               // method comment
-               sb.append("\t\t/**\n");
-               sb.append("\t\t * Chooses a projectTupleX according to the 
length of\n");
-               sb.append("\t\t * {@link 
org.apache.flink.api.java.operators.CrossOperator.CrossProjection#fieldIndexes} 
\n");
-               sb.append("\t\t * \n");
-               sb.append("\t\t * @return The projected DataSet.\n");
-               sb.append("\t\t */\n");
-               
-               // method signature
-               sb.append("\t\t@SuppressWarnings(\"unchecked\")\n");
-               sb.append("\t\tpublic <OUT extends Tuple> ProjectCross<I1, I2, 
OUT> projectTupleX() {\n");
-               sb.append("\t\t\tProjectCross<I1, I2, OUT> projectionCross = 
null;\n\n");
-               sb.append("\t\t\tswitch (fieldIndexes.length) {\n");
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-                       sb.append("\t\t\tcase " + numFields +":" + " 
projectionCross = (ProjectCross<I1, I2, OUT>) projectTuple"+numFields+"(); 
break;\n");     
-               }
-               sb.append("\t\t\tdefault: throw new 
IllegalStateException(\"Excessive arity in tuple.\");\n");
-               sb.append("\t\t\t}\n\n");
-               sb.append("\t\t\treturn projectionCross;\n");
-               
-               // method end
-               sb.append("\t\t}\n");
-               
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-
-                       // method begin
-                       sb.append("\n");
-
-                       // method comment
-                       sb.append("\t\t/**\n");
-                       sb.append("\t\t * Projects a pair of crossed elements 
to a {@link Tuple} with the previously selected fields. \n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @return The projected data set.\n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @see Tuple\n");
-                       sb.append("\t\t * @see DataSet\n");
-                       sb.append("\t\t */\n");
-
-                       // method signature
-                       sb.append("\t\tpublic <");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append("> ProjectCross<I1, I2, Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> projectTuple"+numFields+"(");
-                       sb.append(") {\n");
-
-                       // extract field types
-                       sb.append("\t\t\tTypeInformation<?>[] fTypes = 
extractFieldTypes(fieldIndexes);\n");
-
-                       // create new tuple type info
-                       sb.append("\t\t\tTupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> tType = new 
TupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(fTypes);\n\n");
-
-                       // create and return new project operator
-                       sb.append("\t\t\treturn new ProjectCross<I1, I2, 
Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(this.ds1, this.ds2, this.fieldIndexes, 
this.isFieldInFirst, tType, this, hint);\n");
-
-                       // method end
-                       sb.append("\t\t}\n");
-
-               }
-
-               // insert code into file
-               File dir = getPackage(root, CROSS_OPERATOR_PACKAGE);
-               File projectOperatorClass = new File(dir, 
CROSS_OPERATOR_CLASSNAME + ".java");
-               insertCodeIntoFile(sb.toString(), projectOperatorClass);
-       }
-
-       private static void modifyProjectOperator(File root) throws IOException 
{
-               // generate code
-               StringBuilder sb = new StringBuilder();
-               
-               // method begin
-               sb.append("\n");
-               
-               // method comment
-               sb.append("\t\t/**\n");
-               sb.append("\t\t * Chooses a projectTupleX according to the 
length of\n");
-               sb.append("\t\t * {@link 
org.apache.flink.api.java.operators.ProjectOperator.Projection#fieldIndexes} 
\n");
-               sb.append("\t\t * \n");
-               sb.append("\t\t * @return The projected DataSet.\n");
-               sb.append("\t\t * \n");
-               sb.append("\t\t * @see 
org.apache.flink.api.java.operators.ProjectOperator.Projection\n");
-               sb.append("\t\t */\n");
-               
-               // method signature
-               sb.append("\t\t@SuppressWarnings(\"unchecked\")\n");
-               sb.append("\t\tpublic <OUT extends Tuple> ProjectOperator<T, 
OUT> projectTupleX() {\n");
-               sb.append("\t\t\tProjectOperator<T, OUT> projOperator;\n\n");
-               sb.append("\t\t\tswitch (fieldIndexes.length) {\n");
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-                       sb.append("\t\t\tcase " + numFields +":" + " 
projOperator = (ProjectOperator<T, OUT>) projectTuple"+numFields+"(); 
break;\n");  
-               }
-               sb.append("\t\t\tdefault: throw new 
IllegalStateException(\"Excessive arity in tuple.\");\n");
-               sb.append("\t\t\t}\n\n");
-               sb.append("\t\t\treturn projOperator;\n");
-               
-               // method end
-               sb.append("\t\t}\n");
-               
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-
-                       // method begin
-                       sb.append("\n");
-
-                       // method comment
-                       sb.append("\t\t/**\n");
-                       sb.append("\t\t * Projects a {@link Tuple} {@link 
DataSet} to the previously selected fields. \n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @return The projected DataSet.\n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @see Tuple\n");
-                       sb.append("\t\t * @see DataSet\n");
-                       sb.append("\t\t */\n");
-
-                       // method signature
-                       sb.append("\t\tpublic <");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append("> ProjectOperator<T, Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> projectTuple"+numFields+"(");
-                       sb.append(") {\n");
-                       
-                       // extract field types
-                       sb.append("\t\t\tTypeInformation<?>[] fTypes = 
extractFieldTypes(fieldIndexes, ds.getType());\n");
-
-                       // create new tuple type info
-                       sb.append("\t\t\tTupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> tType = new 
TupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(fTypes);\n\n");
-
-                       // create and return new project operator
-                       sb.append("\t\t\treturn new ProjectOperator<T, 
Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(this.ds, this.fieldIndexes, tType);\n");
-
-                       // method end
-                       sb.append("\t\t}\n");
-
-               }
-
-               // insert code into file
-               File dir = getPackage(root, PROJECT_OPERATOR_PACKAGE);
-               File projectOperatorClass = new File(dir, 
PROJECT_OPERATOR_CLASSNAME + ".java");
-               insertCodeIntoFile(sb.toString(), projectOperatorClass);
-       }
-
-       private static void modifyJoinProjectOperator(File root) throws 
IOException {
-               // generate code
-               StringBuilder sb = new StringBuilder();
-               
-               // method begin
-               sb.append("\n");
-               
-               // method comment
-               sb.append("\t\t/**\n");
-               sb.append("\t\t * Chooses a projectTupleX according to the 
length of\n");
-               sb.append("\t\t * {@link 
org.apache.flink.api.java.operators.JoinOperator.JoinProjection#fieldIndexes}\n");
-               sb.append("\t\t * \n");
-               sb.append("\t\t * @return The projected DataSet.\n");
-               sb.append("\t\t * \n");
-               sb.append("\t\t * @see 
org.apache.flink.api.java.operators.JoinOperator.ProjectJoin\n");
-               sb.append("\t\t */\n");
-               
-               // method signature
-               sb.append("\t\t@SuppressWarnings(\"unchecked\")\n");
-               sb.append("\t\tpublic <OUT extends Tuple> ProjectJoin<I1, I2, 
OUT> projectTupleX() {\n");
-               sb.append("\t\t\tProjectJoin<I1, I2, OUT> projectJoin = 
null;\n\n");
-               sb.append("\t\t\tswitch (fieldIndexes.length) {\n");
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-                       sb.append("\t\t\tcase " + numFields +":" + " 
projectJoin = (ProjectJoin<I1, I2, OUT>) projectTuple"+numFields+"(); 
break;\n");  
-               }
-               sb.append("\t\t\tdefault: throw new 
IllegalStateException(\"Excessive arity in tuple.\");\n");
-               sb.append("\t\t\t}\n\n");
-               sb.append("\t\t\treturn projectJoin;\n");
-               
-               // method end
-               sb.append("\t\t}\n");
-               
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-
-                       // method begin
-                       sb.append("\n");
-
-                       // method comment
-                       sb.append("\t\t/**\n");
-                       sb.append("\t\t * Projects a pair of joined elements to 
a {@link Tuple} with the previously selected fields. \n");
-                       sb.append("\t\t * Requires the classes of the fields of 
the resulting tuples. \n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @return The projected data set.\n");
-                       sb.append("\t\t * \n");
-                       sb.append("\t\t * @see Tuple\n");
-                       sb.append("\t\t * @see DataSet\n");
-                       sb.append("\t\t */\n");
-
-                       // method signature
-                       sb.append("\t\tpublic <");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append("> ProjectJoin<I1, I2, Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> projectTuple"+numFields+"(");
-                       sb.append(") {\n");
-
-                       // extract field types
-                       sb.append("\t\t\tTypeInformation<?>[] fTypes = 
extractFieldTypes(fieldIndexes);\n");
-
-                       // create new tuple type info
-                       sb.append("\t\t\tTupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> tType = new 
TupleTypeInfo<Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(fTypes);\n\n");
-
-                       // create and return new project operator
-                       sb.append("\t\t\treturn new ProjectJoin<I1, I2, 
Tuple"+numFields+"<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(this.ds1, this.ds2, this.keys1, 
this.keys2, this.hint, this.fieldIndexes, this.isFieldInFirst, tType, 
this);\n");
-
-                       // method end
-                       sb.append("\t\t}\n");
-
-               }
-
-               // insert code into file
-               File dir = getPackage(root, JOIN_OPERATOR_PACKAGE);
-               File projectOperatorClass = new File(dir, 
JOIN_OPERATOR_CLASSNAME + ".java");
-               insertCodeIntoFile(sb.toString(), projectOperatorClass);
-       }
-
-       private static void modifyTupleType(File root) throws IOException {
-               // generate code
-               StringBuilder sb = new StringBuilder();
-               sb.append("\tprivate static final Class<?>[] CLASSES = new 
Class<?>[] {\n\t\tTuple0.class");
-               for (int i = FIRST; i <= LAST; i++) {
-                       sb.append(", Tuple" + i + ".class");
-               }
-               sb.append("\n\t};");
-
-               // insert code into file
-               File dir = getPackage(root, TUPLE_PACKAGE);
-               File tupleTypeInfoClass = new File(dir, TUPLE_CLASSNAME + 
".java");
-               insertCodeIntoFile(sb.toString(), tupleTypeInfoClass);
-       }
-
-       private static void modifyCsvReader(File root) throws IOException {
-               // generate code
-               StringBuilder sb = new StringBuilder(1000);
-               for (int numFields = FIRST; numFields <= LAST; numFields++) {
-
-                       // method begin
-                       sb.append("\n");
-
-                       // java doc
-                       sb.append("\t/**\n");
-                       sb.append("\t * Specifies the types for the CSV fields. 
This method parses the CSV data to a ").append(numFields).append("-tuple\n");
-                       sb.append("\t * which has fields of the specified 
types.\n");
-                       sb.append("\t * This method is overloaded for each 
possible length of the tuples to support type safe\n");
-                       sb.append("\t * creation of data sets through CSV 
parsing.\n");
-                       sb.append("\t *\n");
-
-                       for (int pos = 0; pos < numFields; pos++) {
-                               sb.append("\t * @param type").append(pos);
-                               sb.append(" The type of CSV field 
").append(pos).append(" and the type of field ");
-                               sb.append(pos).append(" in the returned tuple 
type.\n");
-                       }
-                       sb.append("\t * @return The {@link 
org.apache.flink.api.java.DataSet} representing the parsed CSV data.\n");
-                       sb.append("\t */\n");
-
-                       // method signature
-                       sb.append("\tpublic <");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append("> DataSource<Tuple" + numFields + "<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> types(");
-                       for (int i = 0; i < numFields; i++) {
-                               if (i > 0) {
-                                       sb.append(", ");
-                               }
-                               sb.append("Class<");
-                               sb.append(GEN_TYPE_PREFIX + i);
-                               sb.append("> type" + i);
-                       }
-                       sb.append(") {\n");
-
-                       // get TupleTypeInfo
-                       sb.append("\t\tTupleTypeInfo<Tuple" + numFields + "<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> types = 
TupleTypeInfo.getBasicAndBasicValueTupleTypeInfo(");
-                       for (int i = 0; i < numFields; i++) {
-                               if (i > 0) {
-                                       sb.append(", ");
-                               }
-                               sb.append("type" + i);
-                       }
-                       sb.append(");\n");
-
-                       // create csv input format
-                       sb.append("\t\tCsvInputFormat<Tuple" + numFields + "<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">> inputFormat = new 
TupleCsvInputFormat<Tuple" + numFields + "<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(path, types, this.includedMask);\n");
-
-                       // configure input format
-                       sb.append("\t\tconfigureInputFormat(inputFormat);\n");
-
-                       // return
-                       sb.append("\t\treturn new DataSource<Tuple" + numFields 
+ "<");
-                       appendTupleTypeGenerics(sb, numFields);
-                       sb.append(">>(executionContext, inputFormat, types, 
Utils.getCallLocationName());\n");
-
-                       // end of method
-                       sb.append("\t}\n");
-               }
-
-               // insert code into file
-               File dir = getPackage(root, CSV_READER_PACKAGE);
-               File csvReaderClass = new File(dir, CSV_READER_CLASSNAME + 
".java");
-               insertCodeIntoFile(sb.toString(), csvReaderClass);
-       }
-
-       private static void appendTupleTypeGenerics(StringBuilder sb, int 
numFields) {
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               sb.append(", ");
-                       }
-                       sb.append(GEN_TYPE_PREFIX + i);
-               }
-       }
-
-       private static void createTupleClasses(File root) throws 
FileNotFoundException {
-               File dir = getPackage(root, PACKAGE);
-
-               for (int i = FIRST; i <= LAST; i++) {
-                       File tupleFile = new File(dir, "Tuple" + i + ".java");
-                               PrintWriter writer = new PrintWriter(tupleFile);
-                       writeTupleClass(writer, i);
-                       writer.flush();
-                       writer.close();
-               }
-       }
-
-       private static void writeTupleClass(PrintWriter w, int numFields) {
-               final String className = "Tuple" + numFields;
-
-               // head
-               w.print(HEADER);
-
-               // package and imports
-               w.println("package " + PACKAGE + ';');
-               w.println();
-               w.println("import org.apache.flink.util.StringUtils;");
-               w.println();
-
-               // class declaration and class comments
-               w.println("/**");
-               w.println(" * A tuple with " + numFields + " fields. Tuples are 
strongly typed; each field may be of a separate type.");
-               w.println(" * The fields of the tuple can be accessed directly 
as public fields (f0, f1, ...) or via their position");
-               w.println(" * through the {@link #getField(int)} method. The 
tuple field positions start at zero.");
-               w.println(" * <p>");
-               w.println(" * Tuples are mutable types, meaning that their 
fields can be re-assigned. This allows functions that work");
-               w.println(" * with Tuples to reuse objects in order to reduce 
pressure on the garbage collector.");
-               w.println(" *");
-               w.println(" * @see Tuple");
-               w.println(" *");
-               for (int i = 0; i < numFields; i++) {
-                       w.println(" * @param <" + GEN_TYPE_PREFIX + i + "> The 
type of field " + i);
-               }
-               w.println(" */");
-               w.print("public class " + className + "<");
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               w.print(", ");
-                       }
-                       w.print(GEN_TYPE_PREFIX + i);
-               }
-               w.println("> extends Tuple {");
-               w.println();
-
-               w.println("\tprivate static final long serialVersionUID = 1L;");
-               w.println();
-
-               // fields
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t/** Field " + i + " of the tuple. */");
-                       w.println("\tpublic " + GEN_TYPE_PREFIX + i + " f" + i 
+ ';');
-               }
-               w.println();
-
-               String paramList = "("; // This will be like "(T0 value0, T1 
value1)"
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               paramList += ", ";
-                       }
-                       paramList += GEN_TYPE_PREFIX + i + " value" + i;
-               }
-               paramList += ")";
-
-               // constructors
-               w.println("\t/**");
-               w.println("\t * Creates a new tuple where all fields are 
null.");
-               w.println("\t */");
-               w.println("\tpublic " + className + "() {}");
-               w.println();
-               w.println("\t/**");
-               w.println("\t * Creates a new tuple and assigns the given 
values to the tuple's fields.");
-               w.println("\t *");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t * @param value" + i + " The value for 
field " + i);
-               }
-               w.println("\t */");
-               w.println("\tpublic " + className + paramList + " {");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t\tthis.f" + i + " = value" + i + ';');
-               }
-               w.println("\t}");
-               w.println();
-
-
-               // arity accessor
-               w.println("\t@Override");
-               w.println("\tpublic int getArity() { return " + numFields + "; 
}");
-               w.println();
-
-               // accessor getter method
-               w.println("\t@Override");
-               w.println("\t@SuppressWarnings(\"unchecked\")");
-               w.println("\tpublic <T> T getField(int pos) {");
-               w.println("\t\tswitch(pos) {");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t\t\tcase " + i + ": return (T) this.f" + i 
+ ';');
-               }
-               w.println("\t\t\tdefault: throw new 
IndexOutOfBoundsException(String.valueOf(pos));");
-               w.println("\t\t}");
-               w.println("\t}");
-               w.println();
-
-               // accessor setter method
-               w.println("\t@Override");
-               w.println("\t@SuppressWarnings(\"unchecked\")");
-               w.println("\tpublic <T> void setField(T value, int pos) {");
-               w.println("\t\tswitch(pos) {");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t\t\tcase " + i + ':');
-                       w.println("\t\t\t\tthis.f" + i + " = (" + 
GEN_TYPE_PREFIX + i + ") value;");
-                       w.println("\t\t\t\tbreak;");
-               }
-               w.println("\t\t\tdefault: throw new 
IndexOutOfBoundsException(String.valueOf(pos));");
-               w.println("\t\t}");
-               w.println("\t}");
-               w.println();
-
-               // accessor setter method for all fields
-               w.println("\t/**");
-               w.println("\t * Sets new values to all fields of the tuple.");
-               w.println("\t *");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t * @param value" + i + " The value for 
field " + i);
-               }
-               w.println("\t */");
-               w.println("\tpublic void setFields" + paramList + " {");
-               for (int i = 0; i < numFields; i++) {
-                       w.println("\t\tthis.f" + i + " = value" + i + ';');
-               }
-               w.println("\t}");
-               w.println();
-
-               // swap method only for Tuple2
-               if (numFields == 2) {
-                       w.println("\t/**");
-                       w.println("\t* Returns a shallow copy of the tuple with 
swapped values.");
-                       w.println("\t*");
-                       w.println("\t* @return shallow copy of the tuple with 
swapped values");
-                       w.println("\t*/");
-                       w.println("\tpublic Tuple2<T1, T0> swap() {");
-                       w.println("\t\treturn new Tuple2<T1, T0>(f1, f0);");
-                       w.println("\t}");
-               }
-
-               // standard utilities (toString, equals, hashCode, copy)
-               w.println();
-               w.println("\t// 
-------------------------------------------------------------------------------------------------");
-               w.println("\t// standard utilities");
-               w.println("\t// 
-------------------------------------------------------------------------------------------------");
-               w.println();
-               w.println("\t/**");
-               w.println("\t * Creates a string representation of the tuple in 
the form");
-               w.print("\t * (f0");
-               for (int i = 1; i < numFields; i++) {
-                       w.print(", f" + i);
-               }
-               w.println("),");
-               w.println("\t * where the individual fields are the value 
returned by calling {@link Object#toString} on that field.");
-               w.println("\t * @return The string representation of the 
tuple.");
-               w.println("\t */");
-               w.println("\t@Override");
-               w.println("\tpublic String toString() {");
-               w.println("\t\treturn \"(\" + 
StringUtils.arrayAwareToString(this.f0)");
-               for (int i = 1; i < numFields; i++) {
-                       w.println("\t\t\t+ \",\" + 
StringUtils.arrayAwareToString(this.f" + i + ")");
-               }
-               w.println("\t\t\t+ \")\";");
-               w.println("\t}");
-
-               w.println();
-               w.println("\t/**");
-               w.println("\t * Deep equality for tuples by calling equals() on 
the tuple members");
-               w.println("\t * @param o the object checked for equality");
-               w.println("\t * @return true if this is equal to o.");
-               w.println("\t */");
-               w.println("\t@Override");
-               w.println("\tpublic boolean equals(Object o) {");
-               w.println("\t\tif(this == o) { return true; }");
-               w.println("\t\tif (!(o instanceof " + className + ")) { return 
false; }");
-               w.println("\t\t@SuppressWarnings(\"rawtypes\")");
-               w.println("\t\t" + className + " tuple = (" + className + ") 
o;");
-               for (int i = 0; i < numFields; i++) {
-                       String field = "f" + i;
-                       w.println("\t\tif (" + field + " != null ? !" + field 
+".equals(tuple." +
-                                       field + ") : tuple." + field + " != 
null) { return false; }");
-               }
-               w.println("\t\treturn true;");
-               w.println("\t}");
-
-               w.println();
-               w.println("\t@Override");
-               w.println("\tpublic int hashCode() {");
-               w.println("\t\tint result = f0 != null ? f0.hashCode() : 0;");
-               for (int i = 1; i < numFields; i++) {
-                       String field = "f" + i;
-                       w.println("\t\tresult = 31 * result + (" + field + " != 
null ? " + field + ".hashCode() : 0);");
-               }
-               w.println("\t\treturn result;");
-               w.println("\t}");
-
-
-               String tupleTypes = "<";
-               for (int i = 0; i < numFields; i++) {
-                       tupleTypes += "T" + i;
-                       if (i < numFields - 1) {
-                               tupleTypes += ",";
-                       }
-               }
-               tupleTypes += ">";
-
-               w.println();
-               w.println("\t/**");
-               w.println("\t* Shallow tuple copy.");
-               w.println("\t* @return A new Tuple with the same fields as 
this.");
-               w.println("\t*/");
-               w.println("\t@Override");
-               w.println("\t@SuppressWarnings(\"unchecked\")");
-               w.println("\tpublic " + className + tupleTypes + " copy(){ ");
-
-               w.print("\t\treturn new " + className + tupleTypes + 
"(this.f0");
-               if (numFields > 1) {
-                       w.println(",");
-               }
-               for (int i = 1; i < numFields; i++) {
-                       String field = "f" + i;
-                       w.print("\t\t\tthis." + field);
-                       if (i < numFields - 1) {
-                               w.println(",");
-                       }
-               }
-               w.println(");");
-               w.println("\t}");
-
-               w.println();
-               w.println("\t/**");
-               w.println("\t * Creates a new tuple and assigns the given 
values to the tuple's fields.");
-               w.println("\t * This is more convenient than using the 
constructor, because the compiler can");
-               w.println("\t * infer the generic type arguments implicitly. 
For example:");
-               w.println("\t * {@code Tuple3.of(n, x, s)}");
-               w.println("\t * instead of");
-               w.println("\t * {@code new Tuple3<Integer, Double, String>(n, 
x, s)}");
-               w.println("\t */");
-               w.println("\tpublic static " + tupleTypes + " " + className + 
tupleTypes + " of" + paramList + " {");
-               w.print("\t\treturn new " + className + tupleTypes + "(");
-               for(int i = 0; i < numFields; i++) {
-                       w.print("value" + i);
-                       if(i < numFields - 1) {
-                               w.print(", ");
-                       }
-               }
-               w.println(");");
-               w.println("\t}");
-
-               // foot
-               w.println("}");
-       }
-
-       private static void createTupleBuilderClasses(File root) throws 
FileNotFoundException {
-               File dir = getPackage(root, PACKAGE+"."+BUILDER_SUFFIX);
-
-               for (int i = FIRST; i <= LAST; i++) {
-                       File tupleFile = new File(dir, "Tuple" + i + 
"Builder.java");
-                       PrintWriter writer = new PrintWriter(tupleFile);
-                       writeTupleBuilderClass(writer, i);
-                       writer.flush();
-                       writer.close();
-               }
-       }
-
-       private static void printGenericsString(PrintWriter w, int numFields){
-               w.print("<");
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               w.print(", ");
-                       }
-                       w.print(GEN_TYPE_PREFIX + i);
-               }
-               w.print(">");
-       }
-
-       private static void writeTupleBuilderClass(PrintWriter w, int 
numFields) {
-               final String className = "Tuple" + numFields + "Builder";
-
-               // head
-               w.print(HEADER);
-
-               // package and imports
-               w.println("package " + PACKAGE + "." + BUILDER_SUFFIX + ';');
-               w.println();
-               w.println("import java.util.ArrayList;");
-               w.println("import java.util.List;");
-               w.println();
-               w.println("import " + PACKAGE + ".Tuple" + numFields + ";");
-               w.println();
-
-               // class declaration
-               w.print("public class " + className);
-               printGenericsString(w, numFields);
-               w.println(" {");
-               w.println();
-
-               // Class-Attributes - a list of tuples
-               w.print("\tprivate List<Tuple" + numFields);
-               printGenericsString(w, numFields);
-               w.print("> tuples = new ArrayList<Tuple" + numFields );
-               printGenericsString(w, numFields);
-               w.println(">();");
-               w.println();
-
-               // add(...) function for adding a single tuple
-               w.print("\tpublic " + className);
-               printGenericsString(w, numFields);
-               w.print(" add(");
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               w.print(", ");
-                       }
-                       w.print(GEN_TYPE_PREFIX + i + " value" + i);
-               }
-               w.println("){");
-               w.print("\t\ttuples.add(new Tuple" + numFields);
-               printGenericsString(w, numFields);
-               w.print("(");
-               for (int i = 0; i < numFields; i++) {
-                       if (i > 0) {
-                               w.print(", ");
-                       }
-                       w.print("value" + i);
-               }
-               w.println("));");
-               w.println("\t\treturn this;");
-               w.println("\t}");
-               w.println();
-
-               // build() function, returns an array of tuples
-               w.println("\t@SuppressWarnings(\"unchecked\")");
-               w.print("\tpublic Tuple" + numFields);
-               printGenericsString(w, numFields);
-               w.println("[] build(){");
-               w.println("\t\treturn tuples.toArray(new Tuple" + numFields + 
"[tuples.size()]);");
-               w.println("\t}");
-
-               // foot
-               w.println("}");
-       }
-
-       private static String HEADER =
-               "/*\n"
-               + " * Licensed to the Apache Software Foundation (ASF) under 
one\n"
-               + " * or more contributor license agreements.  See the NOTICE 
file\n"
-               + " * distributed with this work for additional information\n"
-               + " * regarding copyright ownership.  The ASF licenses this 
file\n"
-               + " * to you under the Apache License, Version 2.0 (the\n"
-               + " * \"License\"); you may not use this file except in 
compliance\n"
-               + " * with the License.  You may obtain a copy of the License 
at\n"
-               + " *\n"
-               + " *     http://www.apache.org/licenses/LICENSE-2.0\n";
-               + " *\n"
-               + " * Unless required by applicable law or agreed to in 
writing, software\n"
-               + " * distributed under the License is distributed on an \"AS 
IS\" BASIS,\n"
-               + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.\n"
-               + " * See the License for the specific language governing 
permissions and\n"
-               + " * limitations under the License.\n"
-               + " */" +
-               "\n" +
-               "\n" +
-               "\n" +
-               "// 
--------------------------------------------------------------\n" +
-               "//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!\n" +
-               "//  GENERATED FROM " + TupleGenerator.class.getName() + ".\n" +
-               "// 
--------------------------------------------------------------\n\n\n";
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java
deleted file mode 100644
index 5facb7e..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple0;
-
-public class Tuple0Builder {
-
-       private List<Tuple0> tuples = new ArrayList<Tuple0>();
-
-       public Tuple0Builder add() {
-               tuples.add(Tuple0.INSTANCE);
-               return this;
-       }
-
-       public Tuple0[] build() {
-               return tuples.toArray(new Tuple0[tuples.size()]);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java
deleted file mode 100644
index d09ba11..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple10;
-
-public class Tuple10Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> {
-
-       private List<Tuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>> tuples = 
new ArrayList<Tuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>>();
-
-       public Tuple10Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> add(T0 
value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 
value7, T8 value8, T9 value9){
-               tuples.add(new Tuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, 
T9>(value0, value1, value2, value3, value4, value5, value6, value7, value8, 
value9));
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       public Tuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>[] build(){
-               return tuples.toArray(new Tuple10[tuples.size()]);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java
deleted file mode 100644
index 727fab0..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple11;
-
-public class Tuple11Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> {
-
-       private List<Tuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> 
tuples = new ArrayList<Tuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>>();
-
-       public Tuple11Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 
add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 
value6, T7 value7, T8 value8, T9 value9, T10 value10){
-               tuples.add(new Tuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10>(value0, value1, value2, value3, value4, value5, value6, value7, value8, 
value9, value10));
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       public Tuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>[] build(){
-               return tuples.toArray(new Tuple11[tuples.size()]);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java
deleted file mode 100644
index 7f77a8d..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple12;
-
-public class Tuple12Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> {
-
-       private List<Tuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> 
tuples = new ArrayList<Tuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, 
T11>>();
-
-       public Tuple12Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> 
add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 
value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11){
-               tuples.add(new Tuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10, T11>(value0, value1, value2, value3, value4, value5, value6, value7, 
value8, value9, value10, value11));
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       public Tuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>[] 
build(){
-               return tuples.toArray(new Tuple12[tuples.size()]);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java
deleted file mode 100644
index e223e7a..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple13;
-
-public class Tuple13Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12> {
-
-       private List<Tuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12>> tuples = new ArrayList<Tuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10, T11, T12>>();
-
-       public Tuple13Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 
value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12){
-               tuples.add(new Tuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10, T11, T12>(value0, value1, value2, value3, value4, value5, value6, value7, 
value8, value9, value10, value11, value12));
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       public Tuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>[] 
build(){
-               return tuples.toArray(new Tuple13[tuples.size()]);
-       }
-}

http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java
deleted file mode 100644
index a3847c2..0000000
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-
-
-// --------------------------------------------------------------
-//  THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!
-//  GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
-// --------------------------------------------------------------
-
-
-package org.apache.flink.api.java.tuple.builder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.flink.api.java.tuple.Tuple14;
-
-public class Tuple14Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12, T13> {
-
-       private List<Tuple14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12, T13>> tuples = new ArrayList<Tuple14<T0, T1, T2, T3, T4, T5, T6, T7, T8, 
T9, T10, T11, T12, T13>>();
-
-       public Tuple14Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 
T12, T13> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, 
T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 
value12, T13 value13){
-               tuples.add(new Tuple14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, 
T10, T11, T12, T13>(value0, value1, value2, value3, value4, value5, value6, 
value7, value8, value9, value10, value11, value12, value13));
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       public Tuple14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 
T13>[] build(){
-               return tuples.toArray(new Tuple14[tuples.size()]);
-       }
-}

Reply via email to