Package org.pentaho.commons.connection
Class DataUtilities
- java.lang.Object
-
- org.pentaho.commons.connection.DataUtilities
-
- All Implemented Interfaces:
IPentahoDataTypes
- Direct Known Subclasses:
PentahoDataTransmuter
public class DataUtilities extends Object implements IPentahoDataTypes
-
-
Field Summary
-
Fields inherited from interface org.pentaho.commons.connection.IPentahoDataTypes
AXIS_COLUMN, AXIS_ROW, DATE_FORMAT, TYPE_BOOLEAN, TYPE_DATE, TYPE_DECIMAL, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_STRING
-
-
Constructor Summary
Constructors Constructor Description DataUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Object[][]filterData(Object[][] data, Integer[] rowsToInclude, Integer[] columnsToInclude)Filters the data such that only the rowsToInclude and columnsToInclude are in the datasetstatic Object[][]filterDataByColumns(Object[][] data, Integer[] columnsToInclude)Selects columns from a 2d array and returns a 2d array that contains only those columnsstatic Object[][]filterDataByRows(Object[][] data, Integer[] rowsToInclude)Selects rows from a 2d array and returns a 2d array that contains only those rowsstatic StringgetXMLString(IPentahoResultSet resultSet)Get an XML representation of the resultsetstatic Object[][]pivotDimensions(Object[][] source)Pivots a 2D array such that rows become columns and columns become rows.static NumbertoNumber(Object data, NumberFormat... formats)Convenience wrapper fortoNumbers(Object[], NumberFormat[])static List<Number>toNumbers(Object[] rowData, NumberFormat... formats)Converts an array of objects to a list of Numbers.
-
-
-
Method Detail
-
pivotDimensions
public static Object[][] pivotDimensions(Object[][] source)
Pivots a 2D array such that rows become columns and columns become rows. The source array is not modified.- Parameters:
source- 2D array to pivot- Returns:
- a 2D array that represents the pivoted source ie source: |Data0,0 |Data0,1 |Data0,2 |Data 0,3 | |Data1,0 |Data1,1 |Data1,2 |Data 1,3 | |Data2,0 |Data2,1 |Data2,2 |Data 2,3 | |Data3,0 |Data3,1 |Data3,2 |Data 3,3 | |Data4,0 |Data4,1 |Data4,2 |Data 4,3 | |Data5,0 |Data5,1 |Data5,2 |Data 5,3 | becomes: |Data0,0 |Data1,0 |Data2,0 |Data3,0 |Data4,0 |Data5,0 | |Data0,1 |Data1,1 |Data2,1 |Data3,1 |Data4,1 |Data5,1 | |Data0,2 |Data1,2 |Data2,2 |Data3,2 |Data4,2 |Data5,2 | |Data0,3 |Data1,3 |Data2,3 |Data3,3 |Data4,3 |Data5,3 |
-
filterDataByRows
public static Object[][] filterDataByRows(Object[][] data, Integer[] rowsToInclude)
Selects rows from a 2d array and returns a 2d array that contains only those rows- Parameters:
data- 2D data to filterrowsToInclude- Interger array of rows to include in results- Returns:
- 2D array of data filtered by rows
-
filterDataByColumns
public static Object[][] filterDataByColumns(Object[][] data, Integer[] columnsToInclude)
Selects columns from a 2d array and returns a 2d array that contains only those columns- Parameters:
data- 2D data to filtercolumnsToInclude- Integer array of rows to include in results- Returns:
- 2D array of data filtered by columns
-
filterData
public static Object[][] filterData(Object[][] data, Integer[] rowsToInclude, Integer[] columnsToInclude)
Filters the data such that only the rowsToInclude and columnsToInclude are in the dataset- Parameters:
data- - 2D data to filterrowsToInclude- - Integer array of row numbers to include a null value indicates all rowscolumnsToInclude- Integer array of column numbers to include a null values indicates all columns- Returns:
- - 2D array of only those rows and columns specified
-
getXMLString
public static String getXMLString(IPentahoResultSet resultSet)
Get an XML representation of the resultset- Returns:
- String containing XML which represents the data (eg for use with xquery)
-
toNumbers
public static List<Number> toNumbers(Object[] rowData, NumberFormat... formats)
Converts an array of objects to a list of Numbers. If the objects are Number types, they will simply be cast, otherwise this method will attempt to convert object.toString() to a number using the provided number formats.- Parameters:
rowData- the input object arrayformats- list ofNumberFormat's used to convert the objects toNumber's- Returns:
- list of Numbers that represent the original rowData
-
toNumber
public static Number toNumber(Object data, NumberFormat... formats)
Convenience wrapper fortoNumbers(Object[], NumberFormat[])- Parameters:
data- to convert to a numberformats-- Returns:
- a number
-
-