| /* |
| * 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.sysds.api.mlcontext; |
| |
| import java.util.Set; |
| |
| import org.apache.spark.api.java.JavaRDD; |
| import org.apache.spark.rdd.RDD; |
| import org.apache.spark.sql.Dataset; |
| import org.apache.spark.sql.Row; |
| import org.apache.sysds.runtime.controlprogram.LocalVariableMap; |
| import org.apache.sysds.runtime.controlprogram.caching.FrameObject; |
| import org.apache.sysds.runtime.controlprogram.caching.MatrixObject; |
| import org.apache.sysds.runtime.controlprogram.context.ExecutionContext; |
| import org.apache.sysds.runtime.controlprogram.context.SparkExecutionContext; |
| import org.apache.sysds.runtime.instructions.cp.BooleanObject; |
| import org.apache.sysds.runtime.instructions.cp.Data; |
| import org.apache.sysds.runtime.instructions.cp.DoubleObject; |
| import org.apache.sysds.runtime.instructions.cp.IntObject; |
| import org.apache.sysds.runtime.instructions.cp.ScalarObject; |
| import org.apache.sysds.runtime.instructions.cp.StringObject; |
| import org.apache.sysds.runtime.instructions.spark.utils.RDDConverterUtils; |
| |
| import scala.Tuple1; |
| import scala.Tuple10; |
| import scala.Tuple11; |
| import scala.Tuple12; |
| import scala.Tuple13; |
| import scala.Tuple14; |
| import scala.Tuple15; |
| import scala.Tuple16; |
| import scala.Tuple17; |
| import scala.Tuple18; |
| import scala.Tuple19; |
| import scala.Tuple2; |
| import scala.Tuple20; |
| import scala.Tuple21; |
| import scala.Tuple22; |
| import scala.Tuple3; |
| import scala.Tuple4; |
| import scala.Tuple5; |
| import scala.Tuple6; |
| import scala.Tuple7; |
| import scala.Tuple8; |
| import scala.Tuple9; |
| |
| /** |
| * MLResults handles the results returned from executing a Script using the |
| * MLContext API. |
| * |
| */ |
| public class MLResults { |
| protected LocalVariableMap symbolTable = null; |
| protected Script script = null; |
| protected SparkExecutionContext sparkExecutionContext = null; |
| |
| public MLResults() { |
| } |
| |
| public MLResults(LocalVariableMap symbolTable) { |
| this.symbolTable = symbolTable; |
| } |
| |
| public MLResults(Script script) { |
| this.script = script; |
| this.symbolTable = script.getSymbolTable(); |
| ScriptExecutor scriptExecutor = script.getScriptExecutor(); |
| ExecutionContext executionContext = scriptExecutor.getExecutionContext(); |
| if (executionContext instanceof SparkExecutionContext) { |
| sparkExecutionContext = (SparkExecutionContext) executionContext; |
| } |
| } |
| |
| /** |
| * Obtain an output as a {@code Data} object. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code Data} object |
| */ |
| public Data getData(String outputName) { |
| Set<String> keys = symbolTable.keySet(); |
| if (!keys.contains(outputName)) { |
| throw new MLContextException("Variable '" + outputName + "' not found"); |
| } |
| return symbolTable.get(outputName); |
| } |
| |
| /** |
| * Obtain an output as a {@code MatrixObject} |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code MatrixObject} |
| */ |
| public MatrixObject getMatrixObject(String outputName) { |
| Data data = getData(outputName); |
| if (!(data instanceof MatrixObject)) { |
| throw new MLContextException("Variable '" + outputName + "' not a matrix"); |
| } |
| return (MatrixObject) data; |
| } |
| |
| /** |
| * Obtain an output as a {@code FrameObject} |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code FrameObject} |
| */ |
| public FrameObject getFrameObject(String outputName) { |
| Data data = getData(outputName); |
| if (!(data instanceof FrameObject)) { |
| throw new MLContextException("Variable '" + outputName + "' not a frame"); |
| } |
| return (FrameObject) data; |
| } |
| |
| /** |
| * Obtain an output as a two-dimensional {@code double} array. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a two-dimensional {@code double} array |
| */ |
| public double[][] getMatrixAs2DDoubleArray(String outputName) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectTo2DDoubleArray(mo); |
| } |
| |
| /** |
| * Obtain an output as a {@code JavaRDD<String>} in IJV format. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code JavaRDD<String>} in IJV format: |
| * </p> |
| * <code>1 1 1.0 |
| * <br>1 2 2.0 |
| * <br>2 1 3.0 |
| * <br>2 2 4.0 |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code JavaRDD<String>} in IJV format |
| */ |
| public JavaRDD<String> getJavaRDDStringIJV(String outputName) { |
| if (isMatrixObject(outputName)) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToJavaRDDStringIJV(mo); |
| } else if (isFrameObject(outputName)) { |
| FrameObject fo = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectToJavaRDDStringIJV(fo); |
| } |
| return null; |
| } |
| |
| /** |
| * Obtain an output as a {@code JavaRDD<String>} in CSV format. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code JavaRDD<String>} in CSV format: |
| * </p> |
| * <code>1.0,2.0 |
| * <br>3.0,4.0 |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code JavaRDD<String>} in CSV format |
| */ |
| public JavaRDD<String> getJavaRDDStringCSV(String outputName) { |
| if (isMatrixObject(outputName)) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToJavaRDDStringCSV(mo); |
| } else if (isFrameObject(outputName)) { |
| FrameObject fo = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectToJavaRDDStringCSV(fo, ","); |
| } |
| return null; |
| } |
| |
| /** |
| * Obtain an output as a {@code RDD<String>} in CSV format. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code RDD<String>} in CSV format: |
| * </p> |
| * <code>1.0,2.0 |
| * <br>3.0,4.0 |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code RDD<String>} in CSV format |
| */ |
| public RDD<String> getRDDStringCSV(String outputName) { |
| if (isMatrixObject(outputName)) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToRDDStringCSV(mo); |
| } else if (isFrameObject(outputName)) { |
| FrameObject fo = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectToRDDStringCSV(fo, ","); |
| } |
| return null; |
| } |
| |
| /** |
| * Obtain an output as a {@code RDD<String>} in IJV format. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code RDD<String>} in IJV format: |
| * </p> |
| * <code>1 1 1.0 |
| * <br>1 2 2.0 |
| * <br>2 1 3.0 |
| * <br>2 2 4.0 |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code RDD<String>} in IJV format |
| */ |
| public RDD<String> getRDDStringIJV(String outputName) { |
| if (isMatrixObject(outputName)) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToRDDStringIJV(mo); |
| } else if (isFrameObject(outputName)) { |
| FrameObject fo = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectToRDDStringIJV(fo); |
| } |
| return null; |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame}. If outputting a Matrix, this |
| * will be a DataFrame of doubles with an ID column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of doubles: |
| * </p> |
| * <code>[1.0,1.0,2.0] |
| * <br>[2.0,3.0,4.0] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code DataFrame} |
| */ |
| public Dataset<Row> getDataFrame(String outputName) { |
| if (isMatrixObject(outputName)) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, false); |
| } else if (isFrameObject(outputName)) { |
| FrameObject mo = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectToDataFrame(mo, sparkExecutionContext); |
| } |
| return null; |
| } |
| |
| /** |
| * Is the output a MatrixObject? |
| * |
| * @param outputName |
| * the name of the output |
| * @return {@code true} if the output is a MatrixObject, {@code false} |
| * otherwise. |
| */ |
| private boolean isMatrixObject(String outputName) { |
| Data data = getData(outputName); |
| return (data instanceof MatrixObject); |
| } |
| |
| /** |
| * Is the output a FrameObject? |
| * |
| * @param outputName |
| * the name of the output |
| * @return {@code true} if the output is a FrameObject, {@code false} |
| * otherwise. |
| */ |
| private boolean isFrameObject(String outputName) { |
| Data data = getData(outputName); |
| return (data instanceof FrameObject); |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame} of doubles or vectors with an ID |
| * column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of doubles: |
| * </p> |
| * <code>[1.0,1.0,2.0] |
| * <br>[2.0,3.0,4.0] |
| * </code> |
| * <p> |
| * or the following {@code DataFrame} of vectors: |
| * </p> |
| * <code>[1.0,[1.0,2.0]] |
| * <br>[2.0,[3.0,4.0]] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @param isVectorDF |
| * {@code true} for a vector {@code DataFrame}, {@code false} for |
| * a double {@code DataFrame} |
| * @return the output as a {@code DataFrame} of doubles or vectors with an |
| * ID column |
| */ |
| public Dataset<Row> getDataFrame(String outputName, boolean isVectorDF) { |
| if (isFrameObject(outputName)) { |
| throw new MLContextException("This method currently supports only matrices"); |
| } |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, isVectorDF); |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame} of doubles with an ID column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of doubles: |
| * </p> |
| * <code>[1.0,1.0,2.0] |
| * <br>[2.0,3.0,4.0] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code DataFrame} of doubles with an ID column |
| */ |
| public Dataset<Row> getDataFrameDoubleWithIDColumn(String outputName) { |
| if (isFrameObject(outputName)) { |
| throw new MLContextException("This method currently supports only matrices"); |
| } |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, false); |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame} of vectors with an ID column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of vectors: |
| * </p> |
| * <code>[1.0,[1.0,2.0]] |
| * <br>[2.0,[3.0,4.0]] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code DataFrame} of vectors with an ID column |
| */ |
| public Dataset<Row> getDataFrameVectorWithIDColumn(String outputName) { |
| if (isFrameObject(outputName)) { |
| throw new MLContextException("This method currently supports only matrices"); |
| } |
| MatrixObject mo = getMatrixObject(outputName); |
| return MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, true); |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame} of doubles with no ID column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of doubles: |
| * </p> |
| * <code>[1.0,2.0] |
| * <br>[3.0,4.0] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code DataFrame} of doubles with no ID column |
| */ |
| public Dataset<Row> getDataFrameDoubleNoIDColumn(String outputName) { |
| if (isFrameObject(outputName)) { |
| throw new MLContextException("This method currently supports only matrices"); |
| } |
| MatrixObject mo = getMatrixObject(outputName); |
| Dataset<Row> df = MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, false); |
| return df.drop(RDDConverterUtils.DF_ID_COLUMN); |
| } |
| |
| /** |
| * Obtain an output as a {@code DataFrame} of vectors with no ID column. |
| * <p> |
| * The following matrix in DML: |
| * </p> |
| * <code>M = full('1 2 3 4', rows=2, cols=2); |
| * </code> |
| * <p> |
| * is equivalent to the following {@code DataFrame} of vectors: |
| * </p> |
| * <code>[[1.0,2.0]] |
| * <br>[[3.0,4.0]] |
| * </code> |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code DataFrame} of vectors with no ID column |
| */ |
| public Dataset<Row> getDataFrameVectorNoIDColumn(String outputName) { |
| if (isFrameObject(outputName)) { |
| throw new MLContextException("This method currently supports only matrices"); |
| } |
| MatrixObject mo = getMatrixObject(outputName); |
| Dataset<Row> df = MLContextConversionUtil.matrixObjectToDataFrame(mo, sparkExecutionContext, true); |
| return df.drop(RDDConverterUtils.DF_ID_COLUMN); |
| } |
| |
| /** |
| * Obtain an output as a {@code Matrix}. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code Matrix} |
| */ |
| public Matrix getMatrix(String outputName) { |
| MatrixObject mo = getMatrixObject(outputName); |
| return new Matrix(mo, sparkExecutionContext); |
| } |
| |
| /** |
| * Obtain an output as a {@code Frame}. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code Frame} |
| */ |
| public Frame getFrame(String outputName) { |
| FrameObject fo = getFrameObject(outputName); |
| return new Frame(fo, sparkExecutionContext); |
| } |
| |
| /** |
| * Obtain an output as a two-dimensional {@code String} array. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a two-dimensional {@code String} array |
| */ |
| public String[][] getFrameAs2DStringArray(String outputName) { |
| FrameObject frameObject = getFrameObject(outputName); |
| return MLContextConversionUtil.frameObjectTo2DStringArray(frameObject); |
| } |
| |
| /** |
| * Obtain a {@code double} output |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code double} |
| */ |
| public double getDouble(String outputName) { |
| ScalarObject so = getScalarObject(outputName); |
| return so.getDoubleValue(); |
| } |
| |
| /** |
| * Obtain a serializable object as output |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a serializable object. |
| */ |
| |
| public Object get(String outputName) { |
| Data data = getData(outputName); |
| if (data instanceof ScalarObject) { |
| ScalarObject so = (ScalarObject) data; |
| return so.getValue(); |
| } else if (data instanceof MatrixObject) { |
| return getMatrix(outputName); |
| } else if (data instanceof FrameObject) { |
| return getFrame(outputName); |
| } else { |
| return data; |
| } |
| } |
| |
| /** |
| * Obtain an output as a {@code Scalar} object. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code Scalar} object |
| */ |
| public ScalarObject getScalarObject(String outputName) { |
| Data data = getData(outputName); |
| if (!(data instanceof ScalarObject)) { |
| throw new MLContextException("Variable '" + outputName + "' not a scalar"); |
| } |
| return (ScalarObject) data; |
| } |
| |
| /** |
| * Obtain a {@code boolean} output |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code boolean} |
| */ |
| public boolean getBoolean(String outputName) { |
| ScalarObject so = getScalarObject(outputName); |
| return so.getBooleanValue(); |
| } |
| |
| /** |
| * Obtain a {@code long} output |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code long} |
| */ |
| public long getLong(String outputName) { |
| ScalarObject so = getScalarObject(outputName); |
| return so.getLongValue(); |
| } |
| |
| /** |
| * Obtain a {@code String} output |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output as a {@code String} |
| */ |
| public String getString(String outputName) { |
| ScalarObject so = getScalarObject(outputName); |
| return so.getStringValue(); |
| } |
| |
| /** |
| * Obtain the Script object associated with these results. |
| * |
| * @return the DML or PYDML Script object |
| */ |
| public Script getScript() { |
| return script; |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T> |
| * the type of the first output |
| * @param outputName1 |
| * the name of the first output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T> Tuple1<T> getTuple(String outputName1) { |
| return new Tuple1<>((T) outputValue(outputName1)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2> Tuple2<T1, T2> getTuple(String outputName1, String outputName2) { |
| return new Tuple2<>((T1) outputValue(outputName1), (T2) outputValue(outputName2)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3> Tuple3<T1, T2, T3> getTuple(String outputName1, String outputName2, String outputName3) { |
| return new Tuple3<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4> Tuple4<T1, T2, T3, T4> getTuple(String outputName1, String outputName2, String outputName3, |
| String outputName4) { |
| return new Tuple4<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3), (T4) outputValue(outputName4)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5> Tuple5<T1, T2, T3, T4, T5> getTuple(String outputName1, String outputName2, |
| String outputName3, String outputName4, String outputName5) { |
| return new Tuple5<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3), (T4) outputValue(outputName4), (T5) outputValue(outputName5)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6> Tuple6<T1, T2, T3, T4, T5, T6> getTuple(String outputName1, String outputName2, |
| String outputName3, String outputName4, String outputName5, String outputName6) { |
| return new Tuple6<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3), (T4) outputValue(outputName4), (T5) outputValue(outputName5), |
| (T6) outputValue(outputName6)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7> Tuple7<T1, T2, T3, T4, T5, T6, T7> getTuple(String outputName1, |
| String outputName2, String outputName3, String outputName4, String outputName5, String outputName6, |
| String outputName7) { |
| return new Tuple7<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3), (T4) outputValue(outputName4), (T5) outputValue(outputName5), |
| (T6) outputValue(outputName6), (T7) outputValue(outputName7)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8> Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> getTuple(String outputName1, |
| String outputName2, String outputName3, String outputName4, String outputName5, String outputName6, |
| String outputName7, String outputName8) { |
| return new Tuple8<>((T1) outputValue(outputName1), (T2) outputValue(outputName2), |
| (T3) outputValue(outputName3), (T4) outputValue(outputName4), (T5) outputValue(outputName5), |
| (T6) outputValue(outputName6), (T7) outputValue(outputName7), (T8) outputValue(outputName8)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9> Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> getTuple(String outputName1, |
| String outputName2, String outputName3, String outputName4, String outputName5, String outputName6, |
| String outputName7, String outputName8, String outputName9) { |
| return new Tuple9<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10) { |
| return new Tuple10<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9), (T10) outputValue(outputName10)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11) { |
| return new Tuple11<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9), (T10) outputValue(outputName10), |
| (T11) outputValue(outputName11)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12) { |
| return new Tuple12<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9), (T10) outputValue(outputName10), |
| (T11) outputValue(outputName11), (T12) outputValue(outputName12)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13) { |
| return new Tuple13<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9), (T10) outputValue(outputName10), |
| (T11) outputValue(outputName11), (T12) outputValue(outputName12), (T13) outputValue(outputName13)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14) { |
| return new Tuple14<>((T1) outputValue(outputName1), |
| (T2) outputValue(outputName2), (T3) outputValue(outputName3), (T4) outputValue(outputName4), |
| (T5) outputValue(outputName5), (T6) outputValue(outputName6), (T7) outputValue(outputName7), |
| (T8) outputValue(outputName8), (T9) outputValue(outputName9), (T10) outputValue(outputName10), |
| (T11) outputValue(outputName11), (T12) outputValue(outputName12), (T13) outputValue(outputName13), |
| (T14) outputValue(outputName14)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15) { |
| return new Tuple15<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16) { |
| return new Tuple16<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17) { |
| return new Tuple17<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param <T18> |
| * the type of the eighteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @param outputName18 |
| * the name of the eighteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17, String outputName18) { |
| return new Tuple18<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17), (T18) outputValue(outputName18)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param <T18> |
| * the type of the eighteenth output |
| * @param <T19> |
| * the type of the nineteenth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @param outputName18 |
| * the name of the eighteenth output |
| * @param outputName19 |
| * the name of the nineteenth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17, String outputName18, String outputName19) { |
| return new Tuple19<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17), (T18) outputValue(outputName18), |
| (T19) outputValue(outputName19)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param <T18> |
| * the type of the eighteenth output |
| * @param <T19> |
| * the type of the nineteenth output |
| * @param <T20> |
| * the type of the twentieth output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @param outputName18 |
| * the name of the eighteenth output |
| * @param outputName19 |
| * the name of the nineteenth output |
| * @param outputName20 |
| * the name of the twentieth output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17, String outputName18, String outputName19, String outputName20) { |
| return new Tuple20<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17), (T18) outputValue(outputName18), |
| (T19) outputValue(outputName19), (T20) outputValue(outputName20)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param <T18> |
| * the type of the eighteenth output |
| * @param <T19> |
| * the type of the nineteenth output |
| * @param <T20> |
| * the type of the twentieth output |
| * @param <T21> |
| * the type of the twenty-first output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @param outputName18 |
| * the name of the eighteenth output |
| * @param outputName19 |
| * the name of the nineteenth output |
| * @param outputName20 |
| * the name of the twentieth output |
| * @param outputName21 |
| * the name of the twenty-first output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17, String outputName18, String outputName19, String outputName20, |
| String outputName21) { |
| return new Tuple21<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17), (T18) outputValue(outputName18), |
| (T19) outputValue(outputName19), (T20) outputValue(outputName20), (T21) outputValue(outputName21)); |
| } |
| |
| /** |
| * Obtain a Scala tuple. |
| * |
| * @param <T1> |
| * the type of the first output |
| * @param <T2> |
| * the type of the second output |
| * @param <T3> |
| * the type of the third output |
| * @param <T4> |
| * the type of the fourth output |
| * @param <T5> |
| * the type of the fifth output |
| * @param <T6> |
| * the type of the sixth output |
| * @param <T7> |
| * the type of the seventh output |
| * @param <T8> |
| * the type of the eighth output |
| * @param <T9> |
| * the type of the ninth output |
| * @param <T10> |
| * the type of the tenth output |
| * @param <T11> |
| * the type of the eleventh output |
| * @param <T12> |
| * the type of the twelfth output |
| * @param <T13> |
| * the type of the thirteenth output |
| * @param <T14> |
| * the type of the fourteenth output |
| * @param <T15> |
| * the type of the fifteenth output |
| * @param <T16> |
| * the type of the sixteenth output |
| * @param <T17> |
| * the type of the seventeenth output |
| * @param <T18> |
| * the type of the eighteenth output |
| * @param <T19> |
| * the type of the nineteenth output |
| * @param <T20> |
| * the type of the twentieth output |
| * @param <T21> |
| * the type of the twenty-first output |
| * @param <T22> |
| * the type of the twenty-second output |
| * @param outputName1 |
| * the name of the first output |
| * @param outputName2 |
| * the name of the second output |
| * @param outputName3 |
| * the name of the third output |
| * @param outputName4 |
| * the name of the fourth output |
| * @param outputName5 |
| * the name of the fifth output |
| * @param outputName6 |
| * the name of the sixth output |
| * @param outputName7 |
| * the name of the seventh output |
| * @param outputName8 |
| * the name of the eighth output |
| * @param outputName9 |
| * the name of the ninth output |
| * @param outputName10 |
| * the name of the tenth output |
| * @param outputName11 |
| * the name of the eleventh output |
| * @param outputName12 |
| * the name of the twelfth output |
| * @param outputName13 |
| * the name of the thirteenth output |
| * @param outputName14 |
| * the name of the fourteenth output |
| * @param outputName15 |
| * the name of the fifteenth output |
| * @param outputName16 |
| * the name of the sixteenth output |
| * @param outputName17 |
| * the name of the seventeenth output |
| * @param outputName18 |
| * the name of the eighteenth output |
| * @param outputName19 |
| * the name of the nineteenth output |
| * @param outputName20 |
| * the name of the twentieth output |
| * @param outputName21 |
| * the name of the twenty-first output |
| * @param outputName22 |
| * the name of the twenty-second output |
| * @return a Scala tuple |
| */ |
| @SuppressWarnings("unchecked") |
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> getTuple( |
| String outputName1, String outputName2, String outputName3, String outputName4, String outputName5, |
| String outputName6, String outputName7, String outputName8, String outputName9, String outputName10, |
| String outputName11, String outputName12, String outputName13, String outputName14, String outputName15, |
| String outputName16, String outputName17, String outputName18, String outputName19, String outputName20, |
| String outputName21, String outputName22) { |
| return new Tuple22<>( |
| (T1) outputValue(outputName1), (T2) outputValue(outputName2), (T3) outputValue(outputName3), |
| (T4) outputValue(outputName4), (T5) outputValue(outputName5), (T6) outputValue(outputName6), |
| (T7) outputValue(outputName7), (T8) outputValue(outputName8), (T9) outputValue(outputName9), |
| (T10) outputValue(outputName10), (T11) outputValue(outputName11), (T12) outputValue(outputName12), |
| (T13) outputValue(outputName13), (T14) outputValue(outputName14), (T15) outputValue(outputName15), |
| (T16) outputValue(outputName16), (T17) outputValue(outputName17), (T18) outputValue(outputName18), |
| (T19) outputValue(outputName19), (T20) outputValue(outputName20), (T21) outputValue(outputName21), |
| (T22) outputValue(outputName22)); |
| } |
| |
| /** |
| * Provide support for Scala tuples by returning an output value cast to a |
| * specific output type. MLResults tuple support requires specifying the |
| * object types at runtime to avoid the items in the tuple being returned as |
| * Anys. |
| * |
| * @param outputName |
| * the name of the output |
| * @return the output value cast to a specific output type |
| */ |
| @SuppressWarnings("unchecked") |
| private <T> T outputValue(String outputName) { |
| Data data = getData(outputName); |
| if (data instanceof BooleanObject) { |
| return (T) Boolean.valueOf(((BooleanObject) data).getBooleanValue()); |
| } else if (data instanceof DoubleObject) { |
| return (T) new Double(((DoubleObject) data).getDoubleValue()); |
| } else if (data instanceof IntObject) { |
| return (T) new Long(((IntObject) data).getLongValue()); |
| } else if (data instanceof StringObject) { |
| return (T) ((StringObject) data).getStringValue(); |
| } else if (data instanceof MatrixObject) { |
| return (T) getMatrix(outputName); |
| } else if (data instanceof FrameObject) { |
| return (T) getFrame(outputName); |
| } |
| return (T) data; |
| } |
| |
| /** |
| * Obtain the symbol table, which is essentially a {@code Map<String, Data>} |
| * representing variables and their values as SystemDS representations. |
| * |
| * @return the symbol table |
| */ |
| public LocalVariableMap getSymbolTable() { |
| return symbolTable; |
| } |
| |
| @Override |
| public String toString() { |
| StringBuilder sb = new StringBuilder(); |
| sb.append(MLContextUtil.displayOutputs(script.getOutputVariables(), symbolTable)); |
| return sb.toString(); |
| } |
| |
| } |