class OutputColsHelper implements Serializable {

	public TableSchema getResultSchema() {
		int resultLength = reservedCols.length + outputColNames.length;
		String[] resultColNames = new String[resultLength];
		TypeInformation<?>[] resultColTypes = new TypeInformation[resultLength];
		for (int i = 0; i < reservedCols.length; i++) {
			resultColNames[reservedColsPosInResult[i]] = inputColNames[reservedCols[i]];
			resultColTypes[reservedColsPosInResult[i]] = inputColTypes[reservedCols[i]];
		}
		for (int i = 0; i < outputColsPosInResult.length; i++) {
			resultColNames[outputColsPosInResult[i]] = outputColNames[i];
			resultColTypes[outputColsPosInResult[i]] = outputColTypes[i];
		}
		return new TableSchema(resultColNames, resultColTypes);
	}

	public  OutputColsHelper(TableSchema inputSchema, String outputColName, TypeInformation<?> outputColType);
	public  OutputColsHelper(TableSchema inputSchema, String outputColName, TypeInformation<?> outputColType,
							String[] reservedColNames);
	public  OutputColsHelper(TableSchema inputSchema, String[] outputColNames, TypeInformation<?>[] outputColTypes);
	public  OutputColsHelper(TableSchema inputSchema, String[] outputColNames, TypeInformation<?>[] outputColTypes,
							String[] reservedColNames);

}