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()]); - } -}