You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2016/02/02 18:23:28 UTC
[28/38] flink git commit: [FLINK-3303] [core] Move Tuple classes to
flink-core
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java
new file mode 100644
index 0000000..2ab1d0a
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple15;
+
+public class Tuple15Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> {
+
+ private List<Tuple15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> tuples = new ArrayList<>();
+
+ public Tuple15Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> 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, T14 value14){
+ tuples.add(new Tuple15<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>[] build(){
+ return tuples.toArray(new Tuple15[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java
new file mode 100644
index 0000000..5b4fba2
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple16;
+
+public class Tuple16Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> {
+
+ private List<Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> tuples = new ArrayList<>();
+
+ public Tuple16Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> 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, T14 value14, T15 value15){
+ tuples.add(new Tuple16<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>[] build(){
+ return tuples.toArray(new Tuple16[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java
new file mode 100644
index 0000000..68ba92b
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple17;
+
+public class Tuple17Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> {
+
+ private List<Tuple17<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> tuples = new ArrayList<>();
+
+ public Tuple17Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 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, T14 value14, T15 value15, T16 value16){
+ tuples.add(new Tuple17<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple17<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>[] build(){
+ return tuples.toArray(new Tuple17[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java
new file mode 100644
index 0000000..d4ee37c
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple18;
+
+public class Tuple18Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> {
+
+ private List<Tuple18<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> tuples = new ArrayList<>();
+
+ public Tuple18Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> 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, T14 value14, T15 value15, T16 value16, T17 value17){
+ tuples.add(new Tuple18<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple18<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>[] build(){
+ return tuples.toArray(new Tuple18[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java
new file mode 100644
index 0000000..baf00ce
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple19;
+
+public class Tuple19Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> {
+
+ private List<Tuple19<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> tuples = new ArrayList<>();
+
+ public Tuple19Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18){
+ tuples.add(new Tuple19<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple19<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>[] build(){
+ return tuples.toArray(new Tuple19[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java
new file mode 100644
index 0000000..f16a9d1
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple1;
+
+public class Tuple1Builder<T0> {
+
+ private List<Tuple1<T0>> tuples = new ArrayList<>();
+
+ public Tuple1Builder<T0> add(T0 value0){
+ tuples.add(new Tuple1<>(value0));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple1<T0>[] build(){
+ return tuples.toArray(new Tuple1[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java
new file mode 100644
index 0000000..41bb974
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple20;
+
+public class Tuple20Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> {
+
+ private List<Tuple20<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> tuples = new ArrayList<>();
+
+ public Tuple20Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19){
+ tuples.add(new Tuple20<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple20<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>[] build(){
+ return tuples.toArray(new Tuple20[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java
new file mode 100644
index 0000000..f24b7ec
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple21;
+
+public class Tuple21Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> {
+
+ private List<Tuple21<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> tuples = new ArrayList<>();
+
+ public Tuple21Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20){
+ tuples.add(new Tuple21<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple21<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>[] build(){
+ return tuples.toArray(new Tuple21[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java
new file mode 100644
index 0000000..710fe50
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple22;
+
+public class Tuple22Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> {
+
+ private List<Tuple22<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> tuples = new ArrayList<>();
+
+ public Tuple22Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21){
+ tuples.add(new Tuple22<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple22<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>[] build(){
+ return tuples.toArray(new Tuple22[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java
new file mode 100644
index 0000000..a81e6c1
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple23;
+
+public class Tuple23Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> {
+
+ private List<Tuple23<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> tuples = new ArrayList<>();
+
+ public Tuple23Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22){
+ tuples.add(new Tuple23<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple23<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>[] build(){
+ return tuples.toArray(new Tuple23[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java
new file mode 100644
index 0000000..2b6fa4c
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple24;
+
+public class Tuple24Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> {
+
+ private List<Tuple24<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>> tuples = new ArrayList<>();
+
+ public Tuple24Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22, T23 value23){
+ tuples.add(new Tuple24<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple24<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>[] build(){
+ return tuples.toArray(new Tuple24[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java
new file mode 100644
index 0000000..2ab94fb
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple25;
+
+public class Tuple25Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> {
+
+ private List<Tuple25<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>> tuples = new ArrayList<>();
+
+ public Tuple25Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> 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, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22, T23 value23, T24 value24){
+ tuples.add(new Tuple25<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple25<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>[] build(){
+ return tuples.toArray(new Tuple25[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java
new file mode 100644
index 0000000..aa8ad9e
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple2;
+
+public class Tuple2Builder<T0, T1> {
+
+ private List<Tuple2<T0, T1>> tuples = new ArrayList<>();
+
+ public Tuple2Builder<T0, T1> add(T0 value0, T1 value1){
+ tuples.add(new Tuple2<>(value0, value1));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple2<T0, T1>[] build(){
+ return tuples.toArray(new Tuple2[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java
new file mode 100644
index 0000000..024c3c9
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple3;
+
+public class Tuple3Builder<T0, T1, T2> {
+
+ private List<Tuple3<T0, T1, T2>> tuples = new ArrayList<>();
+
+ public Tuple3Builder<T0, T1, T2> add(T0 value0, T1 value1, T2 value2){
+ tuples.add(new Tuple3<>(value0, value1, value2));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple3<T0, T1, T2>[] build(){
+ return tuples.toArray(new Tuple3[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java
new file mode 100644
index 0000000..f889dcb
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple4;
+
+public class Tuple4Builder<T0, T1, T2, T3> {
+
+ private List<Tuple4<T0, T1, T2, T3>> tuples = new ArrayList<>();
+
+ public Tuple4Builder<T0, T1, T2, T3> add(T0 value0, T1 value1, T2 value2, T3 value3){
+ tuples.add(new Tuple4<>(value0, value1, value2, value3));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple4<T0, T1, T2, T3>[] build(){
+ return tuples.toArray(new Tuple4[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java
new file mode 100644
index 0000000..9f0725c
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple5;
+
+public class Tuple5Builder<T0, T1, T2, T3, T4> {
+
+ private List<Tuple5<T0, T1, T2, T3, T4>> tuples = new ArrayList<>();
+
+ public Tuple5Builder<T0, T1, T2, T3, T4> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4){
+ tuples.add(new Tuple5<>(value0, value1, value2, value3, value4));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple5<T0, T1, T2, T3, T4>[] build(){
+ return tuples.toArray(new Tuple5[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java
new file mode 100644
index 0000000..2320fdd
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple6;
+
+public class Tuple6Builder<T0, T1, T2, T3, T4, T5> {
+
+ private List<Tuple6<T0, T1, T2, T3, T4, T5>> tuples = new ArrayList<>();
+
+ public Tuple6Builder<T0, T1, T2, T3, T4, T5> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5){
+ tuples.add(new Tuple6<>(value0, value1, value2, value3, value4, value5));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple6<T0, T1, T2, T3, T4, T5>[] build(){
+ return tuples.toArray(new Tuple6[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java
new file mode 100644
index 0000000..278526b
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple7;
+
+public class Tuple7Builder<T0, T1, T2, T3, T4, T5, T6> {
+
+ private List<Tuple7<T0, T1, T2, T3, T4, T5, T6>> tuples = new ArrayList<>();
+
+ public Tuple7Builder<T0, T1, T2, T3, T4, T5, T6> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6){
+ tuples.add(new Tuple7<>(value0, value1, value2, value3, value4, value5, value6));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple7<T0, T1, T2, T3, T4, T5, T6>[] build(){
+ return tuples.toArray(new Tuple7[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java
new file mode 100644
index 0000000..e09acde
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple8;
+
+public class Tuple8Builder<T0, T1, T2, T3, T4, T5, T6, T7> {
+
+ private List<Tuple8<T0, T1, T2, T3, T4, T5, T6, T7>> tuples = new ArrayList<>();
+
+ public Tuple8Builder<T0, T1, T2, T3, T4, T5, T6, T7> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7){
+ tuples.add(new Tuple8<>(value0, value1, value2, value3, value4, value5, value6, value7));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple8<T0, T1, T2, T3, T4, T5, T6, T7>[] build(){
+ return tuples.toArray(new Tuple8[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java
new file mode 100644
index 0000000..cea4e41
--- /dev/null
+++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.Tuple9;
+
+public class Tuple9Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8> {
+
+ private List<Tuple9<T0, T1, T2, T3, T4, T5, T6, T7, T8>> tuples = new ArrayList<>();
+
+ public Tuple9Builder<T0, T1, T2, T3, T4, T5, T6, T7, T8> add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8){
+ tuples.add(new Tuple9<>(value0, value1, value2, value3, value4, value5, value6, value7, value8));
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Tuple9<T0, T1, T2, T3, T4, T5, T6, T7, T8>[] build(){
+ return tuples.toArray(new Tuple9[tuples.size()]);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java b/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java
new file mode 100644
index 0000000..8b149bd
--- /dev/null
+++ b/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java
@@ -0,0 +1,521 @@
+/*
+ * 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 com.google.common.base.Charsets;
+import com.google.common.io.Files;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Scanner;
+
+/**
+ * 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 = "./flink-core/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 TupleTypeInfo
+ private static final String TUPLE_PACKAGE = "org.apache.flink.api.java.tuple";
+
+ private static final String TUPLE_CLASSNAME = "Tuple";
+
+ // 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);
+
+ modifyTupleType(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);
+
+ try (Scanner s = new Scanner(fileContent)) {
+ StringBuilder sb = new StringBuilder();
+ String line;
+
+ boolean indicatorFound = false;
+
+ // add file beginning
+ while (s.hasNextLine() && (line = s.nextLine()) != null) {
+ sb.append(line).append("\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 ").append(TupleGenerator.class.getName()).append(".\n");
+
+ // add tuple dependent code
+ sb.append(code).append("\n");
+
+ // skip generated code
+ while (s.hasNextLine() && (line = s.nextLine()) != null) {
+ if (line.contains(END_INDICATOR)) {
+ sb.append(line).append("\n");
+ break;
+ }
+ }
+
+ // add file ending
+ while (s.hasNextLine() && (line = s.nextLine()) != null) {
+ sb.append(line).append("\n");
+ }
+ Files.write(sb.toString(), file, Charsets.UTF_8);
+ }
+ }
+
+
+ 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").append(i).append(".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 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.println("> tuples = new ArrayList<>();");
+ 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 + "<>(");
+ 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/Tuple.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple.java b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple.java
deleted file mode 100644
index 71b1f61..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple.java
+++ /dev/null
@@ -1,118 +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 org.apache.flink.types.NullFieldException;
-
-
-/**
- * The base class of all tuples. Tuples have a fix length and contain a set of fields,
- * which may all be of different types. Because Tuples are strongly typed, each distinct
- * tuple length is represented by its own class. Tuples exists with up to 25 fields and
- * are described in the classes {@link Tuple1} to {@link Tuple25}.
- * <p>
- * The fields in the tuples may be accessed directly a public fields, or via position (zero indexed)
- * {@link #getField(int)}.
- * <p>
- * Tuples are in principle serializable. However, they may contain non-serializable fields,
- * in which case serialization will fail.
- */
-public abstract class Tuple implements java.io.Serializable {
-
- private static final long serialVersionUID = 1L;
-
- public static final int MAX_ARITY = 25;
-
-
- /**
- * Gets the field at the specified position.
- *
- * @param pos The position of the field, zero indexed.
- * @return The field at the specified position.
- * @throws IndexOutOfBoundsException Thrown, if the position is negative, or equal to, or larger than the number of fields.
- */
- public abstract <T> T getField(int pos);
-
- /**
- * Gets the field at the specified position, throws NullFieldException if the field is null. Used for comparing key fields.
- *
- * @param pos The position of the field, zero indexed.
- * @return The field at the specified position.
- * @throws IndexOutOfBoundsException Thrown, if the position is negative, or equal to, or larger than the number of fields.
- * @throws NullFieldException Thrown, if the field at pos is null.
- */
- public <T> T getFieldNotNull(int pos){
- T field = getField(pos);
- if (field != null) {
- return field;
- } else {
- throw new NullFieldException(pos);
- }
- }
-
- /**
- * Sets the field at the specified position.
- *
- * @param value The value to be assigned to the field at the specified position.
- * @param pos The position of the field, zero indexed.
- * @throws IndexOutOfBoundsException Thrown, if the position is negative, or equal to, or larger than the number of fields.
- */
- public abstract <T> void setField(T value, int pos);
-
- /**
- * Gets the number of field in the tuple (the tuple arity).
- *
- * @return The number of fields in the tuple.
- */
- public abstract int getArity();
-
- /**
- * Shallow tuple copy.
- * @return A new Tuple with the same fields as this.
- */
- public abstract <T extends Tuple> T copy();
-
- // --------------------------------------------------------------------------------------------
-
- /**
- * Gets the class corresponding to the tuple of the given arity (dimensions). For
- * example, {@code getTupleClass(3)} will return the {@code Tuple3.class}.
- *
- * @param arity The arity of the tuple class to get.
- * @return The tuple class with the given arity.
- */
- @SuppressWarnings("unchecked")
- public static Class<? extends Tuple> getTupleClass(int arity) {
- if (arity < 0 || arity > MAX_ARITY) {
- throw new IllegalArgumentException("The tuple arity must be in [0, " + MAX_ARITY + "].");
- }
- return (Class<? extends Tuple>) CLASSES[arity];
- }
-
- // --------------------------------------------------------------------------------------------
- // The following lines are generated.
- // --------------------------------------------------------------------------------------------
-
- // BEGIN_OF_TUPLE_DEPENDENT_CODE
- // GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
- private static final Class<?>[] CLASSES = new Class<?>[] {
- Tuple0.class, Tuple1.class, Tuple2.class, Tuple3.class, Tuple4.class, Tuple5.class, Tuple6.class, Tuple7.class, Tuple8.class, Tuple9.class, Tuple10.class, Tuple11.class, Tuple12.class, Tuple13.class, Tuple14.class, Tuple15.class, Tuple16.class, Tuple17.class, Tuple18.class, Tuple19.class, Tuple20.class, Tuple21.class, Tuple22.class, Tuple23.class, Tuple24.class, Tuple25.class
- };
- // END_OF_TUPLE_DEPENDENT_CODE
-}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java
deleted file mode 100644
index c3386dc..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java
+++ /dev/null
@@ -1,98 +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.ObjectStreamException;
-
-/**
- * A tuple with 0 fields.
- *
- * <p>The Tuple0 is a soft singleton, i.e., there is a "singleton" instance, but it does
- * not prevent creation of additional instances.</p>
- *
- * @see Tuple
- */
-public class Tuple0 extends Tuple {
- private static final long serialVersionUID = 1L;
-
- /** An immutable reusable Tuple0 instance */
- public static final Tuple0 INSTANCE = new Tuple0();
-
- // ------------------------------------------------------------------------
-
- @Override
- public int getArity() {
- return 0;
- }
-
- @Override
- public <T> T getField(int pos) {
- throw new IndexOutOfBoundsException(String.valueOf(pos));
- }
-
- @Override
- public <T> void setField(T value, int pos) {
- throw new IndexOutOfBoundsException(String.valueOf(pos));
- }
-
- /**
- * Shallow tuple copy.
- * @return A new Tuple with the same fields as this.
- */
- @Override
- @SuppressWarnings("unchecked")
- public Tuple0 copy(){
- return new Tuple0();
- }
-
- // -------------------------------------------------------------------------------------------------
- // standard utilities
- // -------------------------------------------------------------------------------------------------
-
- /**
- * Creates a string representation of the tuple in the form "()"
- *
- * @return The string representation of the tuple.
- */
- @Override
- public String toString() {
- return "()";
- }
-
- /**
- * 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) {
- return this == o || o instanceof Tuple0;
- }
-
- @Override
- public int hashCode() {
- return 0;
- }
-
- // singleton deserialization
- private Object readResolve() throws ObjectStreamException {
- return INSTANCE;
- }
-}
http://git-wip-us.apache.org/repos/asf/flink/blob/7081836e/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java b/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java
deleted file mode 100644
index 01c5501..0000000
--- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java
+++ /dev/null
@@ -1,154 +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 1 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
- */
-public class Tuple1<T0> extends Tuple {
-
- private static final long serialVersionUID = 1L;
-
- /** Field 0 of the tuple. */
- public T0 f0;
-
- /**
- * Creates a new tuple where all fields are null.
- */
- public Tuple1() {}
-
- /**
- * Creates a new tuple and assigns the given values to the tuple's fields.
- *
- * @param value0 The value for field 0
- */
- public Tuple1(T0 value0) {
- this.f0 = value0;
- }
-
- @Override
- public int getArity() { return 1; }
-
- @Override
- @SuppressWarnings("unchecked")
- public <T> T getField(int pos) {
- switch(pos) {
- case 0: return (T) this.f0;
- 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;
- default: throw new IndexOutOfBoundsException(String.valueOf(pos));
- }
- }
-
- /**
- * Sets new values to all fields of the tuple.
- *
- * @param value0 The value for field 0
- */
- public void setFields(T0 value0) {
- this.f0 = value0;
- }
-
-
- // -------------------------------------------------------------------------------------------------
- // standard utilities
- // -------------------------------------------------------------------------------------------------
-
- /**
- * Creates a string representation of the tuple in the form
- * (f0),
- * 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)
- + ")";
- }
-
- /**
- * 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 Tuple1)) { return false; }
- @SuppressWarnings("rawtypes")
- Tuple1 tuple = (Tuple1) o;
- if (f0 != null ? !f0.equals(tuple.f0) : tuple.f0 != null) { return false; }
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = f0 != null ? f0.hashCode() : 0;
- return result;
- }
-
- /**
- * Shallow tuple copy.
- * @return A new Tuple with the same fields as this.
- */
- @Override
- @SuppressWarnings("unchecked")
- public Tuple1<T0> copy(){
- return new Tuple1<T0>(this.f0);
- }
-
- /**
- * 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> Tuple1<T0> of(T0 value0) {
- return new Tuple1<T0>(value0);
- }
-}