org.pentaho.di.core
Class RowSet

java.lang.Object
  extended by org.pentaho.di.core.RowSet
All Implemented Interfaces:
Comparable<RowSet>

public class RowSet
extends Object
implements Comparable<RowSet>

Contains a buffer of rows. Getting rows from the buffer or putting rows in the buffer is synchronised to allow concurrent use of multiple Threads.

Since:
04-04-2003
Author:
Matt

Field Summary
static int ERR_NO_ERROR
           
static int ERR_ROW_IS_BUSY
           
 
Constructor Summary
RowSet(int maxSize)
          Create new non-blocking-queue with maxSize capacity.
 
Method Summary
 int compareTo(RowSet rowSet)
          Compares using the target steps and copy, not the source.
 boolean equals(RowSet rowSet)
           
 int getDestinationStepCopy()
           
 String getDestinationStepName()
           
 String getName()
           
 int getOriginStepCopy()
           
 String getOriginStepName()
           
 String getRemoteSlaveServerName()
           
 Object[] getRow()
           
 Object[] getRowImmediate()
          get the first row in the list immediately.
 RowMetaInterface getRowMeta()
           
 Object[] getRowUnitlSuccess()
          Wait forever until successfully receive a row.
 Object[] getRowWait(long timeout, TimeUnit tu)
          get the first row in the list immediately if it is available or wait until timeout
 boolean isDone()
           
 boolean putRow(RowMetaInterface rowMeta, Object[] rowData)
           
 boolean putRowImmediate(RowMetaInterface rowMeta, Object[] rowData)
           
 boolean putRowWait(RowMetaInterface rowMeta, Object[] rowData, long time, TimeUnit tu)
           
 void setDone()
           
 void setRemoteSlaveServerName(String remoteSlaveServerName)
           
 void setRowMeta(RowMetaInterface rowMeta)
           
 void setThreadNameFromToCopy(String from, int from_copy, String to, int to_copy)
          This method is used only in Trans.java when created RowSet at line 333.
 int size()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ERR_NO_ERROR

public static final int ERR_NO_ERROR
See Also:
Constant Field Values

ERR_ROW_IS_BUSY

public static final int ERR_ROW_IS_BUSY
See Also:
Constant Field Values
Constructor Detail

RowSet

public RowSet(int maxSize)
Create new non-blocking-queue with maxSize capacity.

Parameters:
maxSize -
Method Detail

compareTo

public int compareTo(RowSet rowSet)
Compares using the target steps and copy, not the source. That way, re-partitioning is always done in the same way.

Specified by:
compareTo in interface Comparable<RowSet>

equals

public boolean equals(RowSet rowSet)

putRow

public boolean putRow(RowMetaInterface rowMeta,
                      Object[] rowData)

putRowImmediate

public boolean putRowImmediate(RowMetaInterface rowMeta,
                               Object[] rowData)

putRowWait

public boolean putRowWait(RowMetaInterface rowMeta,
                          Object[] rowData,
                          long time,
                          TimeUnit tu)

getRow

public Object[] getRow()

getRowImmediate

public Object[] getRowImmediate()
get the first row in the list immediately.

Returns:
Row or null

getRowWait

public Object[] getRowWait(long timeout,
                           TimeUnit tu)
get the first row in the list immediately if it is available or wait until timeout

Returns:
Row or null

getRowUnitlSuccess

public Object[] getRowUnitlSuccess()
Wait forever until successfully receive a row. This method should be use only at the beginning of transformation. All the step in the beginning can wait until other steps finish producing data. This method can block your thread forever.


setDone

public void setDone()

isDone

public boolean isDone()
Returns:
Returns true if there is no more input and vice versa

getOriginStepName

public String getOriginStepName()
Returns:
Returns the originStepName.

getOriginStepCopy

public int getOriginStepCopy()
Returns:
Returns the originStepCopy.

getDestinationStepName

public String getDestinationStepName()
Returns:
Returns the destinationStepName.

getDestinationStepCopy

public int getDestinationStepCopy()
Returns:
Returns the destinationStepCopy.

getName

public String getName()

size

public int size()
Returns:
Return the size (or max capacity) of the RowSet

setThreadNameFromToCopy

public void setThreadNameFromToCopy(String from,
                                    int from_copy,
                                    String to,
                                    int to_copy)
This method is used only in Trans.java when created RowSet at line 333. Don't need any synchronization on this method


toString

public String toString()
Overrides:
toString in class Object

getRowMeta

public RowMetaInterface getRowMeta()
Returns:
the rowMeta

setRowMeta

public void setRowMeta(RowMetaInterface rowMeta)
Parameters:
rowMeta - the rowMeta to set

getRemoteSlaveServerName

public String getRemoteSlaveServerName()
Returns:
the targetSlaveServer

setRemoteSlaveServerName

public void setRemoteSlaveServerName(String remoteSlaveServerName)
Parameters:
remoteSlaveServerName - the remote slave server to set