Package org.pentaho.di.core.row
Class RowMeta
- java.lang.Object
-
- org.pentaho.di.core.row.RowMeta
-
- All Implemented Interfaces:
Cloneable
,RowMetaInterface
public class RowMeta extends Object implements RowMetaInterface
-
-
Field Summary
Fields Modifier and Type Field Description static String
XML_DATA_TAG
static String
XML_META_TAG
-
Constructor Summary
Constructors Constructor Description RowMeta()
RowMeta(DataInputStream inputStream)
RowMeta(Node node)
Create a new row metadata object from XML
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addRowMeta(RowMetaInterface rowMeta)
Add a number of fields from another row (append to the end).void
addValueMeta(int index, ValueMetaInterface meta)
Add a metadata value on a certain location in the row.void
addValueMeta(ValueMetaInterface meta)
Add a metadata value.void
clear()
Clear the row metadata.RowMeta
clone()
Clone this RowMetaInterface object.Object[]
cloneRow(Object[] objects)
Clone row.Object[]
cloneRow(Object[] objects, Object[] newObjects)
Clone row.RowMetaInterface
cloneToType(int targetType)
This method copies the row metadata and sets all values to the specified type (usually String)int
compare(Object[] rowData1, Object[] rowData2)
Compare 2 rows with each other using all values in the rows and also considering the specified ascending clauses of the value metadata.int
compare(Object[] rowData1, Object[] rowData2, int[] fieldnrs)
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.int
compare(Object[] rowData1, Object[] rowData2, int[] fieldnrs1, int[] fieldnrs2)
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.int
compare(Object[] rowData1, RowMetaInterface rowMeta2, Object[] rowData2, int[] fieldnrs1, int[] fieldnrs2)
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.int
convertedValuesHashCode(Object[] rowData)
Calculates a hashcode of the converted value of all objects in the supplied row.static Row
createOriginalRow(RowMetaInterface rowMeta, Object[] rowData)
boolean
equals(Object[] rowData1, Object[] rowData2, int[] fieldnrs)
Compare 2 rows with each other for equality using certain values in the rows and also considering the case sensitivity flag.boolean
exists(ValueMetaInterface meta)
Check if a value is already present in this row with the same name.static byte[]
extractData(RowMetaInterface metadata, Object[] row)
Serialize a row of data to byte[]BigDecimal
getBigNumber(Object[] dataRow, int index)
Get a BigNumber value from a row of data.byte[]
getBinary(Object[] dataRow, int index)
Get a Binary value from a row of data.Boolean
getBoolean(Object[] dataRow, int index)
Get a Boolean value from a row of data.String
getDataXML(Object[] rowData)
Gets the data xml.Date
getDate(Object[] dataRow, int index)
Get a Date value from a row of data.Date
getDate(Object[] dataRow, String valueName, Date defaultValue)
Gets the date.String[]
getFieldNames()
Get an array of the names of all the Values in the Row.String[]
getFieldNamesAndTypes(int maxlen)
Get an array of strings showing the name of the values in the row padded to a maximum length, followed by the types of the values.Long
getInteger(Object[] dataRow, int index)
Get an Integer value from a row of data.Long
getInteger(Object[] dataRow, String valueName, Long defaultValue)
Gets the integer.String
getMetaXML()
Gets the meta xml.Double
getNumber(Object[] dataRow, int index)
Get a Number value from a row of data.static Object[]
getRow(RowMetaInterface metadata, byte[] data)
Create a row of data bases on a serialized format (byte[])Object[]
getRow(Node node)
Convert an XML node into binary data using the row metadata supplied.String
getString(Object[] row)
Get the string representation of the data in a row of dataString
getString(Object[] dataRow, int index)
Get a String value from a row of data.String
getString(Object[] dataRow, String valueName, String defaultValue)
Gets the string.ValueMetaInterface
getValueMeta(int index)
Get the value metadata on the specified index.List<ValueMetaInterface>
getValueMetaList()
Gets the value meta list.int
hashCode(Object[] rowData)
Calculates a simple hashCode of all the native data objects in the supplied row.int
indexOfValue(String valueName)
Searches the index of a value meta with a given nameboolean
isEmpty()
Returns true if there are no elements in the row metadata.boolean
isNull(Object[] dataRow, int index)
Determines whether a value in a row is null.void
mergeRowMeta(RowMetaInterface r)
Merge the values of row r to this Row.void
mergeRowMeta(RowMetaInterface r, String originStepName)
Merge the values of row r to this Row.int
oldXORHashCode(Object[] rowData)
Deprecated.Object[]
readData(DataInputStream inputStream)
De-serialize a row of data (no metadata is read) from an input stream.void
removeValueMeta(int index)
Remove a value metadata object on a certain index in the row.void
removeValueMeta(String valueName)
Remove a value with a certain name from the row metadata.ValueMetaInterface
searchValueMeta(String valueName)
Searches for a value with a certain name in the value meta listvoid
setValueMeta(int index, ValueMetaInterface valueMeta)
Replaces a value meta entry in the row metadata with another onevoid
setValueMetaList(List<ValueMetaInterface> valueMetaList)
Sets the value meta list.int
size()
Returns the size of the metadata row.String
toString()
String
toStringMeta()
To string meta.void
writeData(DataOutputStream outputStream, Object[] data)
Write ONLY the specified data to the outputStreamvoid
writeMeta(DataOutputStream outputStream)
Write ONLY the specified metadata to the outputStream
-
-
-
Field Detail
-
XML_META_TAG
public static final String XML_META_TAG
- See Also:
- Constant Field Values
-
XML_DATA_TAG
public static final String XML_DATA_TAG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RowMeta
public RowMeta()
-
RowMeta
public RowMeta(DataInputStream inputStream) throws KettleFileException, SocketTimeoutException
-
RowMeta
public RowMeta(Node node) throws KettleException
Create a new row metadata object from XML- Parameters:
node
- the XML node to deserialize from- Throws:
IOException
- Thrown in case there is an (Base64/GZip) decoding problemKettleException
-
-
Method Detail
-
clone
public RowMeta clone()
Description copied from interface:RowMetaInterface
Clone this RowMetaInterface object.- Specified by:
clone
in interfaceRowMetaInterface
- Overrides:
clone
in classObject
- Returns:
- a copy of this RowMetaInterface object
-
cloneToType
public RowMetaInterface cloneToType(int targetType) throws KettleValueException
This method copies the row metadata and sets all values to the specified type (usually String)- Specified by:
cloneToType
in interfaceRowMetaInterface
- Parameters:
targetType
- The target type- Returns:
- The cloned metadata
- Throws:
KettleValueException
-
getValueMetaList
public List<ValueMetaInterface> getValueMetaList()
Description copied from interface:RowMetaInterface
Gets the value meta list.- Specified by:
getValueMetaList
in interfaceRowMetaInterface
- Returns:
- the list of value metadata
-
setValueMetaList
public void setValueMetaList(List<ValueMetaInterface> valueMetaList)
Description copied from interface:RowMetaInterface
Sets the value meta list.- Specified by:
setValueMetaList
in interfaceRowMetaInterface
- Parameters:
valueMetaList
- the list of valueMeta to set
-
size
public int size()
Description copied from interface:RowMetaInterface
Returns the size of the metadata row.- Specified by:
size
in interfaceRowMetaInterface
- Returns:
- the number of values in the row
-
isEmpty
public boolean isEmpty()
Description copied from interface:RowMetaInterface
Returns true if there are no elements in the row metadata.- Specified by:
isEmpty
in interfaceRowMetaInterface
- Returns:
- true if there are no elements in the row metadata
-
exists
public boolean exists(ValueMetaInterface meta)
Description copied from interface:RowMetaInterface
Check if a value is already present in this row with the same name.- Specified by:
exists
in interfaceRowMetaInterface
- Parameters:
meta
- the value to check for existence- Returns:
- true if a value with the same name already exists in the row
-
addValueMeta
public void addValueMeta(ValueMetaInterface meta)
Add a metadata value. If a value with the same name already exists, it gets renamed.- Specified by:
addValueMeta
in interfaceRowMetaInterface
- Parameters:
meta
- The metadata value to add
-
addValueMeta
public void addValueMeta(int index, ValueMetaInterface meta)
Add a metadata value on a certain location in the row. If a value with the same name already exists, it gets renamed. Remember to change the data row according to this.- Specified by:
addValueMeta
in interfaceRowMetaInterface
- Parameters:
index
- The index where the metadata value needs to be put in the rowmeta
- The metadata value to add to the row
-
getValueMeta
public ValueMetaInterface getValueMeta(int index)
Get the value metadata on the specified index.- Specified by:
getValueMeta
in interfaceRowMetaInterface
- Parameters:
index
- The index to get the value metadata from- Returns:
- The value metadata specified by the index.
-
setValueMeta
public void setValueMeta(int index, ValueMetaInterface valueMeta)
Replaces a value meta entry in the row metadata with another one- Specified by:
setValueMeta
in interfaceRowMetaInterface
- Parameters:
index
- The index in the row to replace atvalueMeta
- the metadata to replace with
-
getString
public String getString(Object[] dataRow, int index) throws KettleValueException
Get a String value from a row of data. Convert data if this needed.- Specified by:
getString
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The string found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getInteger
public Long getInteger(Object[] dataRow, int index) throws KettleValueException
Get an Integer value from a row of data. Convert data if this needed.- Specified by:
getInteger
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The integer found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getNumber
public Double getNumber(Object[] dataRow, int index) throws KettleValueException
Get a Number value from a row of data. Convert data if this needed.- Specified by:
getNumber
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The number found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getDate
public Date getDate(Object[] dataRow, int index) throws KettleValueException
Get a Date value from a row of data. Convert data if this needed.- Specified by:
getDate
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The date found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getBigNumber
public BigDecimal getBigNumber(Object[] dataRow, int index) throws KettleValueException
Get a BigNumber value from a row of data. Convert data if this needed.- Specified by:
getBigNumber
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The bignumber found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getBoolean
public Boolean getBoolean(Object[] dataRow, int index) throws KettleValueException
Get a Boolean value from a row of data. Convert data if this needed.- Specified by:
getBoolean
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The boolean found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
getBinary
public byte[] getBinary(Object[] dataRow, int index) throws KettleValueException
Get a Binary value from a row of data. Convert data if this needed.- Specified by:
getBinary
in interfaceRowMetaInterface
- Parameters:
dataRow
- the row of dataindex
- the index- Returns:
- The binary found on that position in the row
- Throws:
KettleValueException
- in case there was a problem converting the data.
-
isNull
public boolean isNull(Object[] dataRow, int index) throws KettleValueException
Determines whether a value in a row is null. A value is null when the object is null or when it's an empty String- Specified by:
isNull
in interfaceRowMetaInterface
- Parameters:
dataRow
- The row of dataindex
- the index to reference- Returns:
- true if the value on the index is null.
- Throws:
KettleValueException
- in case there is a conversion error (only thrown in case of lazy conversion)
-
cloneRow
public Object[] cloneRow(Object[] objects) throws KettleValueException
Description copied from interface:RowMetaInterface
Clone row.- Specified by:
cloneRow
in interfaceRowMetaInterface
- Parameters:
objects
- object to clone- Returns:
- a cloned Object[] object.
- Throws:
KettleValueException
- in case something is not quite right with the expected data
-
cloneRow
public Object[] cloneRow(Object[] objects, Object[] newObjects) throws KettleValueException
Description copied from interface:RowMetaInterface
Clone row.- Specified by:
cloneRow
in interfaceRowMetaInterface
- Parameters:
objects
- objects to clonenewObjects
- objects to clone to- Returns:
- a cloned Object[] object.
- Throws:
KettleValueException
- in case something is not quite right with the expected data
-
getString
public String getString(Object[] dataRow, String valueName, String defaultValue) throws KettleValueException
Description copied from interface:RowMetaInterface
Gets the string.- Specified by:
getString
in interfaceRowMetaInterface
- Parameters:
dataRow
- the data rowvalueName
- the value namedefaultValue
- the default value- Returns:
- the string
- Throws:
KettleValueException
- the kettle value exception
-
getInteger
public Long getInteger(Object[] dataRow, String valueName, Long defaultValue) throws KettleValueException
Description copied from interface:RowMetaInterface
Gets the integer.- Specified by:
getInteger
in interfaceRowMetaInterface
- Parameters:
dataRow
- the data rowvalueName
- the value namedefaultValue
- the default value- Returns:
- the integer
- Throws:
KettleValueException
- the kettle value exception
-
getDate
public Date getDate(Object[] dataRow, String valueName, Date defaultValue) throws KettleValueException
Description copied from interface:RowMetaInterface
Gets the date.- Specified by:
getDate
in interfaceRowMetaInterface
- Parameters:
dataRow
- the data rowvalueName
- the value namedefaultValue
- the default value- Returns:
- the date
- Throws:
KettleValueException
- the kettle value exception
-
indexOfValue
public int indexOfValue(String valueName)
Searches the index of a value meta with a given name- Specified by:
indexOfValue
in interfaceRowMetaInterface
- Parameters:
valueName
- the name of the value metadata to look for- Returns:
- the index or -1 in case we didn't find the value
-
searchValueMeta
public ValueMetaInterface searchValueMeta(String valueName)
Searches for a value with a certain name in the value meta list- Specified by:
searchValueMeta
in interfaceRowMetaInterface
- Parameters:
valueName
- The value name to search for- Returns:
- The value metadata or null if nothing was found
-
addRowMeta
public void addRowMeta(RowMetaInterface rowMeta)
Description copied from interface:RowMetaInterface
Add a number of fields from another row (append to the end).- Specified by:
addRowMeta
in interfaceRowMetaInterface
- Parameters:
rowMeta
- The row of metadata values to add
-
mergeRowMeta
public void mergeRowMeta(RowMetaInterface r)
Merge the values of row r to this Row. The values that are not yet in the row are added unchanged. The values that are in the row are renamed to name_2, name_3, etc.- Specified by:
mergeRowMeta
in interfaceRowMetaInterface
- Parameters:
r
- The row to be merged with this row
-
mergeRowMeta
public void mergeRowMeta(RowMetaInterface r, String originStepName)
Merge the values of row r to this Row. The fields that are not yet in the row are added unchanged. The fields that are in the row are renamed to name_2, name_3, etc. If the fields are renamed, the provided originStepName will be assigned as the origin step for those fields.- Specified by:
mergeRowMeta
in interfaceRowMetaInterface
- Parameters:
r
- The row to be merged with this roworiginStepName
- The name to use as the origin step
-
getFieldNames
public String[] getFieldNames()
Get an array of the names of all the Values in the Row.- Specified by:
getFieldNames
in interfaceRowMetaInterface
- Returns:
- an array of Strings: the names of all the Values in the Row.
-
writeData
public void writeData(DataOutputStream outputStream, Object[] data) throws KettleFileException
Write ONLY the specified data to the outputStream- Specified by:
writeData
in interfaceRowMetaInterface
- Parameters:
outputStream
- the outputstream to write todata
- the data to write after the metadata- Throws:
KettleFileException
- in case things go awry
-
writeMeta
public void writeMeta(DataOutputStream outputStream) throws KettleFileException
Write ONLY the specified metadata to the outputStream- Specified by:
writeMeta
in interfaceRowMetaInterface
- Parameters:
outputStream
- the outputstream to write to- Throws:
KettleFileException
- in case things go awry
-
readData
public Object[] readData(DataInputStream inputStream) throws KettleFileException, SocketTimeoutException
Description copied from interface:RowMetaInterface
De-serialize a row of data (no metadata is read) from an input stream.- Specified by:
readData
in interfaceRowMetaInterface
- Parameters:
inputStream
- the inputstream to read from- Returns:
- a new row of data
- Throws:
KettleFileException
- in case a I/O error occursSocketTimeoutException
- In case there is a timeout during reading.
-
clear
public void clear()
Description copied from interface:RowMetaInterface
Clear the row metadata.- Specified by:
clear
in interfaceRowMetaInterface
-
removeValueMeta
public void removeValueMeta(String valueName) throws KettleValueException
Description copied from interface:RowMetaInterface
Remove a value with a certain name from the row metadata.- Specified by:
removeValueMeta
in interfaceRowMetaInterface
- Parameters:
valueName
- the name of the value metadata to remove- Throws:
KettleValueException
- in case the value couldn't be found in the row metadata
-
removeValueMeta
public void removeValueMeta(int index)
Description copied from interface:RowMetaInterface
Remove a value metadata object on a certain index in the row.- Specified by:
removeValueMeta
in interfaceRowMetaInterface
- Parameters:
index
- the index to remove the value metadata from
-
toStringMeta
public String toStringMeta()
Description copied from interface:RowMetaInterface
To string meta.- Specified by:
toStringMeta
in interfaceRowMetaInterface
- Returns:
- a string with a description of all the metadata values of the complete row of metadata
-
getString
public String getString(Object[] row) throws KettleValueException
Get the string representation of the data in a row of data- Specified by:
getString
in interfaceRowMetaInterface
- Parameters:
row
- the row of data to convert to string- Returns:
- the row of data in string form
- Throws:
KettleValueException
- in case of a conversion error
-
getFieldNamesAndTypes
public String[] getFieldNamesAndTypes(int maxlen)
Get an array of strings showing the name of the values in the row padded to a maximum length, followed by the types of the values.- Specified by:
getFieldNamesAndTypes
in interfaceRowMetaInterface
- Parameters:
maxlen
- The length to which the name will be padded.- Returns:
- an array of strings: the names and the types of the fieldnames in the row.
-
compare
public int compare(Object[] rowData1, Object[] rowData2, int[] fieldnrs) throws KettleValueException
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.- Specified by:
compare
in interfaceRowMetaInterface
- Parameters:
rowData1
- The first row of datarowData2
- The second row of datafieldnrs
- the fields to compare on (in that order)- Returns:
- 0 if the rows are considered equal, -1 is data1 is smaller, 1 if data2 is smaller.
- Throws:
KettleValueException
-
equals
public boolean equals(Object[] rowData1, Object[] rowData2, int[] fieldnrs) throws KettleValueException
Compare 2 rows with each other for equality using certain values in the rows and also considering the case sensitivity flag.- Specified by:
equals
in interfaceRowMetaInterface
- Parameters:
rowData1
- The first row of datarowData2
- The second row of datafieldnrs
- the fields to compare on (in that order)- Returns:
- true if the rows are considered equal, false if they are not.
- Throws:
KettleValueException
-
compare
public int compare(Object[] rowData1, Object[] rowData2, int[] fieldnrs1, int[] fieldnrs2) throws KettleValueException
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.- Specified by:
compare
in interfaceRowMetaInterface
- Parameters:
rowData1
- The first row of datarowData2
- The second row of datafieldnrs1
- The indexes of the values to compare in the first rowfieldnrs2
- The indexes of the values to compare with in the second row- Returns:
- 0 if the rows are considered equal, -1 is data1 is smaller, 1 if data2 is smaller.
- Throws:
KettleValueException
-
compare
public int compare(Object[] rowData1, RowMetaInterface rowMeta2, Object[] rowData2, int[] fieldnrs1, int[] fieldnrs2) throws KettleValueException
Compare 2 rows with each other using certain values in the rows and also considering the specified ascending clauses of the value metadata.- Specified by:
compare
in interfaceRowMetaInterface
- Parameters:
rowData1
- The first row of datarowMeta2
- the metadata of the second row of datarowData2
- The second row of datafieldnrs1
- The indexes of the values to compare in the first rowfieldnrs2
- The indexes of the values to compare with in the second row- Returns:
- 0 if the rows are considered equal, -1 is data1 is smaller, 1 if data2 is smaller.
- Throws:
KettleValueException
-
compare
public int compare(Object[] rowData1, Object[] rowData2) throws KettleValueException
Compare 2 rows with each other using all values in the rows and also considering the specified ascending clauses of the value metadata.- Specified by:
compare
in interfaceRowMetaInterface
- Parameters:
rowData1
- The first row of datarowData2
- The second row of data- Returns:
- 0 if the rows are considered equal, -1 is data1 is smaller, 1 if data2 is smaller.
- Throws:
KettleValueException
-
oldXORHashCode
@Deprecated public int oldXORHashCode(Object[] rowData) throws KettleValueException
Deprecated.Calculate a hashCode of the content (not the index) of the data specified NOTE: This method uses a simple XOR of the individual hashCodes which can result in a lot of collisions for similar types of data (e.g. [A,B] == [B,A] and is not suitable for normal use. It is kept to provide backward compatibility with CombinationLookup.lookupValues()- Specified by:
oldXORHashCode
in interfaceRowMetaInterface
- Parameters:
rowData
- The data to calculate a hashCode with- Returns:
- the calculated hashCode
- Throws:
KettleValueException
- in case there is a data conversion error
-
hashCode
public int hashCode(Object[] rowData) throws KettleValueException
Calculates a simple hashCode of all the native data objects in the supplied row. This method will return a better distribution of values for rows of numbers or rows with the same values in different positions. NOTE: This method performs against the native values, not the values returned by ValueMeta. This means that if you have two rows with different primitive values ['2008-01-01:12:30'] and ['2008-01-01:00:00'] that use a format object to change the value (as Date yyyy-MM-dd), the hashCodes will be different resulting in the two rows not being considered equal via the hashCode even though compare() or equals() might consider them to be.- Specified by:
hashCode
in interfaceRowMetaInterface
- Parameters:
rowData
- The data to calculate a hashCode with- Returns:
- the calculated hashCode
- Throws:
KettleValueException
- in case there is a data conversion error
-
convertedValuesHashCode
public int convertedValuesHashCode(Object[] rowData) throws KettleValueException
Calculates a hashcode of the converted value of all objects in the supplied row. This method returns distinct values for nulls of different data types and will return the same hashCode for different native values that have a ValueMeta converting them into the same value (e.g. ['2008-01-01:12:30'] and ['2008-01-01:00:00'] as Date yyyy-MM-dd)- Specified by:
convertedValuesHashCode
in interfaceRowMetaInterface
- Parameters:
rowData
- The data to calculate a hashCode with- Returns:
- the calculated hashCode
- Throws:
KettleValueException
- in case there is a data conversion error
-
extractData
public static byte[] extractData(RowMetaInterface metadata, Object[] row)
Serialize a row of data to byte[]- Parameters:
metadata
- the metadata to userow
- the row of data- Returns:
- a serialized form of the data as a byte array
-
getRow
public static Object[] getRow(RowMetaInterface metadata, byte[] data)
Create a row of data bases on a serialized format (byte[])- Parameters:
data
- the serialized datametadata
- the metadata to use- Returns:
- a new row of data
-
createOriginalRow
public static Row createOriginalRow(RowMetaInterface rowMeta, Object[] rowData) throws KettleValueException
- Throws:
KettleValueException
-
getMetaXML
public String getMetaXML() throws IOException
Description copied from interface:RowMetaInterface
Gets the meta xml.- Specified by:
getMetaXML
in interfaceRowMetaInterface
- Returns:
- an XML representation of the row metadata
- Throws:
IOException
- Thrown in case there is an (Base64/GZip) encoding problem
-
getDataXML
public String getDataXML(Object[] rowData) throws IOException
Description copied from interface:RowMetaInterface
Gets the data xml.- Specified by:
getDataXML
in interfaceRowMetaInterface
- Parameters:
rowData
- the row of data to serialize as XML- Returns:
- an XML representation of the row data
- Throws:
IOException
- Thrown in case there is an (Base64/GZip) encoding problem
-
getRow
public Object[] getRow(Node node) throws KettleException
Convert an XML node into binary data using the row metadata supplied.- Specified by:
getRow
in interfaceRowMetaInterface
- Parameters:
node
- The data row node- Returns:
- a row of data, converted from XML
- Throws:
IOException
- Thrown in case there is an (Base64/GZip) decoding problemKettleException
- Thrown in case there is an (Base64/GZip) decoding problem
-
-