Class BaseTransform<Meta extends ITransformMeta,Data extends ITransformData>
- java.lang.Object
-
- org.apache.hop.pipeline.transform.BaseTransform<Meta,Data>
-
- All Implemented Interfaces:
IExtensionData,IHasLogChannel,ILoggingObject,IVariables,IEngineComponent,ITransform
- Direct Known Subclasses:
AbstractTransform,BaseFileInputTransform,Dummy,Injector
public class BaseTransform<Meta extends ITransformMeta,Data extends ITransformData> extends Object implements ITransform, IVariables, ILoggingObject, IExtensionData, IEngineComponent
This class can be extended for the actual row processing of the implemented transform.The implementing class can rely mostly on the base class, and has only three important methods it implements itself. The three methods implement the transform lifecycle during pipeline execution: initialization, row processing, and clean-up.
- Transform Initialization
The init() method is called when a pipeline is preparing to start execution.public boolean init(...)
Every transform is given the opportunity to do one-time initialization tasks like opening files or establishing database connections. For any transforms derived from BaseTransform it is mandatory that super.init() is called to ensure correct behavior. The method must return true in case the transform initialized correctly, it must returned false if there was an initialization error. Apache Hop will abort the execution of a pipeline in case any transform returns false upon initialization.
- Row Processing
Once the pipeline starts execution it enters a tight loop calling processRow() on each transform until the method returns false. Each transform typically reads a single row from the input stream, alters the row structure and fields and passes the row on to next transforms.public boolean processRow(...)
A typical implementation queries for incoming input rows by calling getRow(), which blocks and returns a row object or null in case there is no more input. If there was an input row, the transform does the necessary row processing and calls putRow() to pass the row on to the next transform. If there are no more rows, the transform must call setOutputDone() and return false.
Formally the method must conform to the following rules:
- If the transform is done processing all rows, the method must call setOutputDone() and return false
- If the transform is not done processing all rows, the method must return true. Hop will call processRow() again in this case.
- Transform Clean-Up
Once the pipeline is complete, Hop calls dispose() on all transforms.public void dispose(...)
Transforms are required to deallocate resources allocated during init() or subsequent row processing. This typically means to clear all fields of the ITransformData object, and to ensure that all open files or connections are properly closed. For any transforms derived from BaseTransform it is mandatory that super.dispose() is called to ensure correct deallocation.
-
-
Field Summary
Fields Modifier and Type Field Description protected Datadataprotected longdeadLockCounterKeeps track of the number of rows read for input deadlock verification.protected DateexecutionEndDateprotected DateexecutionStartDateprotected Map<String,Object>extensionDataMapbooleanfirstif true then the row being processed is the first rowprotected DatefirstRowReadDateprotected DateinitStartDateprotected DatelastRowWrittenDateprotected ILogChannellogprotected Metametaprotected IHopMetadataProvidermetadataProviderThe metadata that the transform uses to load external elements fromprotected List<IRowListener>rowListenersThe list of IRowListener interfacesprotected AtomicBooleansafeStoppedbooleanterminatorList<Object[]>terminatorRowsprotected IVariablesvariables
-
Constructor Summary
Constructors Constructor Description BaseTransform(TransformMeta transformMeta, Meta meta, Data data, int copyNr, PipelineMeta pipelineMeta, Pipeline pipeline)This is the base transform that forms that basis for all transforms.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddResultFile(ResultFile resultFile)Adds the result file.voidaddRowListener(IRowListener rowListener)Add a rowlistener to the transform allowing you to inspect (or manipulate, be careful) the rows coming in or exiting the transform.voidaddRowSetToInputRowSets(IRowSet rowSet)voidaddRowSetToOutputRowSets(IRowSet rowSet)voidaddTransformFinishedListener(ITransformFinishedListener transformFinishedListener)Attach a transform listener to be notified when a transform finishesvoidaddTransformStartedListener(ITransformStartedListener transformStartedListener)Attach a transform listener to be notified when a transform startsvoidbatchComplete()When using the Single threaded engine this signals to the transform that a batch of records has been processed and that no more are expected in this batch.booleancanProcessOneRow()This method checks if the transform is capable of processing at least one row.protected booleancheckFeedback(long lines)Check feedback.voidcleanup()Cleanup any left-over resources for this transform.protected voidclearInputRowSets()protected voidclearOutputRowSets()static voidcloseQuietly(Closeable cl)Close quietly.voidcopyFrom(IVariables variables)longdecrementLinesRead()Decrements the number of lines read from previous transforms by onelongdecrementLinesWritten()Decrements the number of lines written to next transforms by onevoiddispatch()This method finds the surrounding transforms and rowsets for this base transform.voiddispose()Dispose of this transform: close files, empty logs, etc.IRowSetfindInputRowSet(String sourceTransformName)Find input row set.IRowSetfindInputRowSet(String from, int fromCopy, String to, int toCopy)Find input row set.IRowSetfindOutputRowSet(String targetTransform)Find output row set.IRowSetfindOutputRowSet(String from, int fromcopy, String to, int tocopy)Find an output rowset in a running pipeline.voidfinishBundle()When running in a Beam context this signals the transform that a bundle was finished.StringgetContainerId()Returns the container object ID.intgetCopy()intgetCopyNr()Gets copyNrintgetCurrentInputRowSetNr()intgetCurrentOutputRowSetNr()DatagetData()Gets dataIPipelineEngine<PipelineMeta>getDispatcher()Gets the dispatcher.IRowMetagetErrorRowMeta()longgetErrors()Get the number of errorslonggetExecutionDuration()DategetExecutionEndDate()Gets executionEndDateDategetExecutionStartDate()Gets executionStartDateMap<String,Object>getExtensionDataMap()StringgetFilename()protected IRowSetgetFirstInputRowSet()DategetFirstRowReadDate()Gets firstRowReadDateDategetInitStartDate()Gets initStartDatelonggetInputBufferSize()IRowMetagetInputRowMeta()List<IRowSet>getInputRowSets()DategetLastRowWrittenDate()Gets lastRowWrittenDatelonggetLinesInput()longgetLinesOutput()longgetLinesRead()longgetLinesRejected()Get the number of lines rejected to an error handling transformlonggetLinesSkipped()longgetLinesUpdated()longgetLinesWritten()Get the number of lines written to next transformsILogChannelgetLogChannel()StringgetLogChannelId()LogLevelgetLogLevel()StringgetLogText()Retrieve the logging text of this component in the engineMetagetMeta()IHopMetadataProvidergetMetadataProvider()StringgetName()StringgetObjectCopy()StringgetObjectName()LoggingObjectTypegetObjectType()longgetOutputBufferSize()List<IRowSet>getOutputRowSets()ILoggingObjectgetParent()IVariablesgetParentVariables()StringgetPartitionId()Map<String,BlockingRowSet>getPartitionTargets()IPipelineEngine<PipelineMeta>getPipeline()PipelineMetagetPipelineMeta()IRowMetagetPreviewRowMeta()longgetProcessed()DategetRegistrationDate()Returns the registration dateintgetRepartitioning()Map<String,ResultFile>getResultFiles()Object[]getRow()In case of getRow, we receive data from previous transforms through the input rowset.Object[]getRowFrom(IRowSet rowSet)Gets the row from.IRowHandlergetRowHandler()List<IRowListener>getRowListeners()EngineComponent.ComponentExecutionStatusgetStatus()Get the execution status of the componentStringgetStatusDescription()Gets the status description.List<ITransformFinishedListener>getTransformFinishedListeners()Gets transformFinishedListenersTransformMetagetTransformMeta()StringgetTransformName()Get the name of the transform.StringgetTransformPluginId()List<ITransformStartedListener>getTransformStartedListeners()Gets transformStartedListenersStringgetVariable(String variableName)StringgetVariable(String variableName, String defaultValue)booleangetVariableBoolean(String variableName, boolean defaultValue)String[]getVariableNames()Object[]handleGetRowFrom(IRowSet rowSet)voidhandlePutError(IVariables variables, IRowMeta rowMeta, Object[] row, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes)voidhandlePutRowTo(IRowMeta rowMeta, Object[] row, IRowSet rowSet)voididentifyErrorOutput()To be used to flag an error output channel of a transform prior to execution for performance reasons.longincrementLinesInput()Increments the number of lines read from an input source: database, file, socket, etc.longincrementLinesOutput()Increments the number of lines written to an output target: database, file, socket, etc.longincrementLinesRead()Increments the number of lines read from previous transforms by onelongincrementLinesRejected()Increments the number of lines rejected to an error handling transformlongincrementLinesSkipped()Increments the number of lines skippedlongincrementLinesUpdated()Increments the number of lines updated in an output target: database, file, socket, etc.longincrementLinesWritten()Increments the number of lines written to next transforms by onebooleaninit()Initialize and do work where other transforms need to wait for...voidinitBeforeStart()This method is executed by Pipeline right before the threads start and right after initialization.voidinitializeFrom(IVariables parent)booleanisAllowEmptyFieldNamesAndTypes()Gets allowEmptyFieldNamesAndTypesbooleanisBasic()Checks if is basic.booleanisDebug()Checks if is debug.booleanisDetailed()Checks if is detailed.booleanisDistributed()booleanisForcingSeparateLogging()booleanisGatheringMetrics()booleanisInitialising()Checks if is initialising.booleanisMapping()booleanisPartitioned()booleanisPaused()booleanisRowLevel()Checks if is row level.booleanisRunning()booleanisSafeStopped()booleanisSelected()booleanisStopped()voidlogBasic(String message)Log basic.voidlogBasic(String message, Object... arguments)Log basic.voidlogDebug(String message)Log debug.voidlogDebug(String message, Object... arguments)Log debug.voidlogDetailed(String message)Log detailed.voidlogDetailed(String message, Object... arguments)Log detailed.voidlogError(String message)Log error.voidlogError(String message, Object... arguments)Log error.voidlogError(String message, Throwable e)Log error.voidlogMinimal(String message)Log minimal.voidlogMinimal(String message, Object... arguments)Log minimal.voidlogRowlevel(String message)Log rowlevel.voidlogRowlevel(String message, Object... arguments)Log rowlevel.voidlogSummary()Log summary.voidmarkStart()Mark the start time of the transform.voidmarkStop()Mark the end time of the transform.booleanoutputIsDone()Output is done.voidpauseRunning()Pause a running transformbooleanprocessRow()Perform the equivalent of processing one row.voidputError(IRowMeta rowMeta, Object[] row, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes)Put error.voidputRow(IRowMeta rowMeta, Object[] row)putRow is used to copy a row, to the alternate rowset(s) This should get priority over everything else! (synchronized) If distribute is true, a row is copied only once to the output rowsets, otherwise copies are sent to each rowset!voidputRowTo(IRowMeta rowMeta, Object[] row, IRowSet rowSet)putRowTo is used to put a row in a certain specific IRowSet.voidremoveRowListener(IRowListener rowListener)Remove a rowlistener from this transform.Stringresolve(String aString)String[]resolve(String[] aString)Stringresolve(String aString, IRowMeta rowMeta, Object[] rowData)voidresumeRunning()Resume a running transformintrowsetInputSize()introwsetOutputSize()protected voidsafeModeChecking(IRowMeta row)Safe mode checking.static voidsafeModeChecking(IRowMeta referenceRowMeta, IRowMeta rowMeta)Safe mode checking.voidsetAllowEmptyFieldNamesAndTypes(boolean allowEmptyFieldNamesAndTypes)Sets allowEmptyFieldNamesAndTypesvoidsetCarteObjectId(String containerObjectId)Sets the container object ID.voidsetCopy(int cop)Sets the copy.voidsetCopyNr(int copyNr)voidsetCurrentInputRowSetNr(int index)voidsetCurrentOutputRowSetNr(int index)voidsetDistributed(boolean distributed)voidsetErrorRowMeta(IRowMeta errorRowMeta)voidsetErrors(long e)Sets the number of errorsvoidsetExecutionEndDate(Date executionEndDate)voidsetExecutionStartDate(Date executionStartDate)voidsetFirstRowReadDate(Date firstRowReadDate)voidsetForcingSeparateLogging(boolean forcingSeparateLogging)voidsetGatheringMetrics(boolean gatheringMetrics)voidsetInitStartDate(Date initStartDate)voidsetInputRowMeta(IRowMeta rowMeta)voidsetInputRowSets(List<IRowSet> inputRowSets)voidsetInternalVariables()Sets the internal variables.voidsetLastRowWrittenDate(Date lastRowWrittenDate)voidsetLinesInput(long newLinesInputValue)voidsetLinesOutput(long newLinesOutputValue)voidsetLinesRead(long newLinesReadValue)voidsetLinesRejected(long newLinesRejectedValue)voidsetLinesSkipped(long newLinesSkippedValue)voidsetLinesUpdated(long newLinesUpdatedValue)voidsetLinesWritten(long newLinesWrittenValue)Set the number of lines written to next transformsvoidsetLogLevel(LogLevel logLevel)Sets the log level.voidsetMetadataProvider(IHopMetadataProvider metadataProvider)Pass along the metadata to use when loading external elements at runtime.voidsetOutputDone()Signal output done to destination transformsvoidsetOutputRowSets(List<IRowSet> outputRowSets)voidsetParentVariables(IVariables parent)voidsetPartitioned(boolean partitioned)voidsetPartitionId(String partitionId)voidsetPartitionTargets(Map<String,BlockingRowSet> partitionTargets)voidsetPaused(boolean paused)Sets the paused.voidsetPaused(AtomicBoolean paused)Sets the paused.voidsetPreviewRowMeta(IRowMeta previewRowMeta)voidsetRepartitioning(int repartitioning)voidsetRowHandler(IRowHandler rowHandler)IRowHandler controls how getRow/putRow are handled.voidsetRunning(boolean running)Flag the transform as running or notvoidsetSafeStopped(boolean stopped)voidsetStopped(boolean stopped)voidsetTransformFinishedListeners(List<ITransformFinishedListener> transformFinishedListeners)voidsetTransformName(String transformName)Sets the transformName.voidsetTransformStartedListeners(List<ITransformStartedListener> transformStartedListeners)voidsetVariable(String variableName, String variableValue)voidsetVariables(Map<String,String> map)voidshareWith(IVariables variables)voidstartBundle()When running in a Beam context this signals the transform that a new bundle was started.voidstopAll()Flags all rowsets as stopped/completed/finished.voidstopRunning()Perform actions to stop a running transform.protected voidswapFirstInputRowSetIfExists(String transformName)StringtoString()protected voidwaitUntilPipelineIsStarted()Wait until the pipeline is completely running and all threads have been started.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.hop.pipeline.transform.ITransform
subStatuses
-
-
-
-
Field Detail
-
variables
protected IVariables variables
-
log
protected ILogChannel log
-
initStartDate
protected Date initStartDate
-
executionStartDate
protected Date executionStartDate
-
firstRowReadDate
protected Date firstRowReadDate
-
lastRowWrittenDate
protected Date lastRowWrittenDate
-
executionEndDate
protected Date executionEndDate
-
safeStopped
protected AtomicBoolean safeStopped
-
first
public boolean first
if true then the row being processed is the first row
-
terminator
public boolean terminator
-
meta
protected final Meta extends ITransformMeta meta
-
data
protected final Data extends ITransformData data
-
rowListeners
protected List<IRowListener> rowListeners
The list of IRowListener interfaces
-
deadLockCounter
protected long deadLockCounter
Keeps track of the number of rows read for input deadlock verification.
-
metadataProvider
protected IHopMetadataProvider metadataProvider
The metadata that the transform uses to load external elements from
-
-
Constructor Detail
-
BaseTransform
public BaseTransform(TransformMeta transformMeta, Meta meta, Data data, int copyNr, PipelineMeta pipelineMeta, Pipeline pipeline)
This is the base transform that forms that basis for all transforms. You can derive from this class to implement your own transforms.- Parameters:
transformMeta- The TransformMeta object to run.data- the data object to store temporary data, database connections, caches, result sets, hashtables etc.copyNr- The copynumber for this transform.pipelineMeta- The PipelineMeta of which the transform transformMeta is part of.pipeline- The (running) pipeline to obtain information shared among the transforms.
-
-
Method Detail
-
init
public boolean init()
Description copied from interface:ITransformInitialize and do work where other transforms need to wait for...- Specified by:
initin interfaceITransform
-
dispose
public void dispose()
Description copied from interface:ITransformDispose of this transform: close files, empty logs, etc.- Specified by:
disposein interfaceITransform
-
cleanup
public void cleanup()
Description copied from interface:ITransformCleanup any left-over resources for this transform.- Specified by:
cleanupin interfaceITransform
-
getProcessed
public long getProcessed()
- Specified by:
getProcessedin interfaceITransform- Returns:
- The number of "processed" lines of a transform. Well, a representable metric for that anyway.
-
setCopy
public void setCopy(int cop)
Sets the copy.- Parameters:
cop- the new copy
-
getCopy
public int getCopy()
- Specified by:
getCopyin interfaceITransform- Returns:
- The transforms copy number (default 0)
-
getErrors
public long getErrors()
Description copied from interface:ITransformGet the number of errors- Specified by:
getErrorsin interfaceIEngineComponent- Specified by:
getErrorsin interfaceITransform- Returns:
- the number of errors
-
setErrors
public void setErrors(long e)
Description copied from interface:ITransformSets the number of errors- Specified by:
setErrorsin interfaceITransform- Parameters:
e- the number of errors to set
-
getLinesRead
public long getLinesRead()
- Specified by:
getLinesReadin interfaceIEngineComponent- Specified by:
getLinesReadin interfaceITransform- Returns:
- Returns the number of lines read from previous transforms
-
incrementLinesRead
public long incrementLinesRead()
Increments the number of lines read from previous transforms by one- Returns:
- Returns the new value
-
decrementLinesRead
public long decrementLinesRead()
Decrements the number of lines read from previous transforms by one- Returns:
- Returns the new value
-
setLinesRead
public void setLinesRead(long newLinesReadValue)
- Parameters:
newLinesReadValue- the new number of lines read from previous transforms
-
getLinesInput
public long getLinesInput()
- Specified by:
getLinesInputin interfaceIEngineComponent- Specified by:
getLinesInputin interfaceITransform- Returns:
- Returns the number of lines read from an input source: database, file, socket, etc.
-
incrementLinesInput
public long incrementLinesInput()
Increments the number of lines read from an input source: database, file, socket, etc.- Returns:
- the new incremented value
-
setLinesInput
public void setLinesInput(long newLinesInputValue)
- Parameters:
newLinesInputValue- the new number of lines read from an input source: database, file, socket, etc.
-
getLinesOutput
public long getLinesOutput()
- Specified by:
getLinesOutputin interfaceIEngineComponent- Specified by:
getLinesOutputin interfaceITransform- Returns:
- Returns the number of lines written to an output target: database, file, socket, etc.
-
incrementLinesOutput
public long incrementLinesOutput()
Increments the number of lines written to an output target: database, file, socket, etc.- Returns:
- the new incremented value
-
setLinesOutput
public void setLinesOutput(long newLinesOutputValue)
- Parameters:
newLinesOutputValue- the new number of lines written to an output target: database, file, socket, etc.
-
getLinesWritten
public long getLinesWritten()
Get the number of lines written to next transforms- Specified by:
getLinesWrittenin interfaceIEngineComponent- Specified by:
getLinesWrittenin interfaceITransform- Returns:
- Returns the linesWritten.
-
incrementLinesWritten
public long incrementLinesWritten()
Increments the number of lines written to next transforms by one- Returns:
- Returns the new value
-
decrementLinesWritten
public long decrementLinesWritten()
Decrements the number of lines written to next transforms by one- Returns:
- Returns the new value
-
setLinesWritten
public void setLinesWritten(long newLinesWrittenValue)
Set the number of lines written to next transforms- Parameters:
newLinesWrittenValue- the new number of lines written to next transforms
-
getLinesUpdated
public long getLinesUpdated()
- Specified by:
getLinesUpdatedin interfaceIEngineComponent- Specified by:
getLinesUpdatedin interfaceITransform- Returns:
- Returns the number of lines updated in an output target: database, file, socket, etc.
-
incrementLinesUpdated
public long incrementLinesUpdated()
Increments the number of lines updated in an output target: database, file, socket, etc.- Returns:
- the new incremented value
-
setLinesUpdated
public void setLinesUpdated(long newLinesUpdatedValue)
- Parameters:
newLinesUpdatedValue- the new number of lines updated in an output target: database, file, socket, etc.
-
getLinesRejected
public long getLinesRejected()
Get the number of lines rejected to an error handling transform- Specified by:
getLinesRejectedin interfaceIEngineComponent- Specified by:
getLinesRejectedin interfaceITransform- Returns:
- the number of lines rejected to an error handling transform
-
incrementLinesRejected
public long incrementLinesRejected()
Increments the number of lines rejected to an error handling transform- Returns:
- the new incremented value
-
setLinesRejected
public void setLinesRejected(long newLinesRejectedValue)
- Specified by:
setLinesRejectedin interfaceITransform- Parameters:
newLinesRejectedValue- lines number of lines rejected to an error handling transform
-
getLinesSkipped
public long getLinesSkipped()
- Returns:
- the number of lines skipped
-
incrementLinesSkipped
public long incrementLinesSkipped()
Increments the number of lines skipped- Returns:
- the new incremented value
-
setLinesSkipped
public void setLinesSkipped(long newLinesSkippedValue)
- Parameters:
newLinesSkippedValue- lines number of lines skipped
-
isSelected
public boolean isSelected()
- Specified by:
isSelectedin interfaceIEngineComponent- Returns:
- true if the component is selected in the user interface
-
getTransformName
public String getTransformName()
Description copied from interface:ITransformGet the name of the transform.- Specified by:
getTransformNamein interfaceITransform- Returns:
- the name of the transform
-
setTransformName
public void setTransformName(String transformName)
Sets the transformName.- Parameters:
transformName- the new transformName
-
getDispatcher
public IPipelineEngine<PipelineMeta> getDispatcher()
Gets the dispatcher.- Returns:
- the dispatcher
-
getStatusDescription
public String getStatusDescription()
Gets the status description.- Specified by:
getStatusDescriptionin interfaceIEngineComponent- Returns:
- the status description
-
getMeta
public Meta getMeta()
- Specified by:
getMetain interfaceITransform- Returns:
- Returns the transformMeta.
-
getData
public Data getData()
Gets data- Specified by:
getDatain interfaceITransform- Returns:
- value of data
-
getTransformMeta
public TransformMeta getTransformMeta()
- Specified by:
getTransformMetain interfaceITransform- Returns:
- Returns the transformMeta.
-
getPipelineMeta
public PipelineMeta getPipelineMeta()
- Returns:
- Returns the pipelineMeta.
-
getPipeline
public IPipelineEngine<PipelineMeta> getPipeline()
- Specified by:
getPipelinein interfaceITransform- Returns:
- Returns the pipeline.
-
putRow
public void putRow(IRowMeta rowMeta, Object[] row) throws HopTransformException
putRow is used to copy a row, to the alternate rowset(s) This should get priority over everything else! (synchronized) If distribute is true, a row is copied only once to the output rowsets, otherwise copies are sent to each rowset!- Specified by:
putRowin interfaceITransform- Parameters:
row- The row to put to the destination rowset(s).rowMeta- The row to send to the destinations transforms- Throws:
HopTransformException
-
putRowTo
public void putRowTo(IRowMeta rowMeta, Object[] row, IRowSet rowSet) throws HopTransformException
putRowTo is used to put a row in a certain specific IRowSet.- Parameters:
rowMeta- The row meta-data to put to the destination IRowSet.row- the data to put in the IRowSetrowSet- the RoWset to put the row into.- Throws:
HopTransformException- In case something unexpected goes wrong
-
handlePutRowTo
public void handlePutRowTo(IRowMeta rowMeta, Object[] row, IRowSet rowSet) throws HopTransformException
- Throws:
HopTransformException
-
putError
public void putError(IRowMeta rowMeta, Object[] row, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes) throws HopTransformException
Put error.- Parameters:
rowMeta- the row metarow- the rownrErrors- the nr errorserrorDescriptions- the error descriptionsfieldNames- the field nameserrorCodes- the error codes- Throws:
HopTransformException- the hop transform exception
-
handlePutError
public void handlePutError(IVariables variables, IRowMeta rowMeta, Object[] row, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes) throws HopTransformException
- Throws:
HopTransformException
-
waitUntilPipelineIsStarted
protected void waitUntilPipelineIsStarted()
Wait until the pipeline is completely running and all threads have been started.
-
getRow
public Object[] getRow() throws HopException
In case of getRow, we receive data from previous transforms through the input rowset. In case we split the stream, we have to copy the data to the alternate splits: rowsets 1 through n.- Specified by:
getRowin interfaceITransform- Returns:
- a row from the source transform(s).
- Throws:
HopException
-
setRowHandler
public void setRowHandler(IRowHandler rowHandler)
IRowHandler controls how getRow/putRow are handled. The default IRowHandler will simply callhandleGetRow()andhandlePutRow(IRowMeta, Object[])
-
getRowHandler
public IRowHandler getRowHandler()
-
safeModeChecking
protected void safeModeChecking(IRowMeta row) throws HopRowException
Safe mode checking.- Parameters:
row- the row- Throws:
HopRowException- the hop row exception
-
identifyErrorOutput
public void identifyErrorOutput()
Description copied from interface:ITransformTo be used to flag an error output channel of a transform prior to execution for performance reasons.- Specified by:
identifyErrorOutputin interfaceITransform
-
safeModeChecking
public static void safeModeChecking(IRowMeta referenceRowMeta, IRowMeta rowMeta) throws HopRowException
Safe mode checking.- Parameters:
referenceRowMeta- the reference row metarowMeta- the row meta- Throws:
HopRowException- the hop row exception
-
getRowFrom
public Object[] getRowFrom(IRowSet rowSet) throws HopTransformException
Gets the row from.- Parameters:
rowSet- the row set- Returns:
- the row from
- Throws:
HopTransformException- the hop transform exception
-
handleGetRowFrom
public Object[] handleGetRowFrom(IRowSet rowSet) throws HopTransformException
- Throws:
HopTransformException
-
findInputRowSet
public IRowSet findInputRowSet(String sourceTransformName) throws HopTransformException
Find input row set.- Parameters:
sourceTransformName- the source transform- Returns:
- the row set
- Throws:
HopTransformException- the hop transform exception
-
findInputRowSet
public IRowSet findInputRowSet(String from, int fromCopy, String to, int toCopy)
Find input row set.- Parameters:
from- the fromfromCopy- the fromcopyto- the totoCopy- the tocopy- Returns:
- the row set
-
findOutputRowSet
public IRowSet findOutputRowSet(String targetTransform) throws HopTransformException
Find output row set.- Parameters:
targetTransform- the target transform- Returns:
- the row set
- Throws:
HopTransformException- the hop transform exception
-
findOutputRowSet
public IRowSet findOutputRowSet(String from, int fromcopy, String to, int tocopy)
Find an output rowset in a running pipeline. It will also look at the "to" transform to see if this is a mapping. If it is, it will find the appropriate rowset in that pipeline.- Parameters:
from-fromcopy-to-tocopy-- Returns:
- The rowset or null if none is found.
-
setOutputDone
public void setOutputDone()
Description copied from interface:ITransformSignal output done to destination transforms- Specified by:
setOutputDonein interfaceITransform
-
dispatch
public void dispatch()
This method finds the surrounding transforms and rowsets for this base transform. This transforms keeps it's own list of rowsets (etc.) to prevent it from having to search every time.Note that all rowsets input and output is already created by pipeline itself. So in this place we will look and choose which rowsets will be used by this particular transform.
We will collect all input rowsets and output rowsets so transform will be able to read input data, and write to the output.
Transforms can run in multiple copies, on in partitioned fashion. For this case we should take in account that in different cases we should take in account one to one, one to many and other cases properly.
-
isBasic
public boolean isBasic()
Checks if is basic.- Returns:
- true, if is basic
-
isDetailed
public boolean isDetailed()
Checks if is detailed.- Returns:
- true, if is detailed
-
isDebug
public boolean isDebug()
Checks if is debug.- Returns:
- true, if is debug
-
isRowLevel
public boolean isRowLevel()
Checks if is row level.- Returns:
- true, if is row level
-
logMinimal
public void logMinimal(String message)
Log minimal.- Parameters:
message- the message
-
logMinimal
public void logMinimal(String message, Object... arguments)
Log minimal.- Parameters:
message- the messagearguments- the arguments
-
logBasic
public void logBasic(String message)
Log basic.- Parameters:
message- the message
-
logBasic
public void logBasic(String message, Object... arguments)
Log basic.- Parameters:
message- the messagearguments- the arguments
-
logDetailed
public void logDetailed(String message)
Log detailed.- Parameters:
message- the message
-
logDetailed
public void logDetailed(String message, Object... arguments)
Log detailed.- Parameters:
message- the messagearguments- the arguments
-
logDebug
public void logDebug(String message)
Log debug.- Parameters:
message- the message
-
logDebug
public void logDebug(String message, Object... arguments)
Log debug.- Parameters:
message- the messagearguments- the arguments
-
logRowlevel
public void logRowlevel(String message)
Log rowlevel.- Parameters:
message- the message
-
logRowlevel
public void logRowlevel(String message, Object... arguments)
Log rowlevel.- Parameters:
message- the messagearguments- the arguments
-
logError
public void logError(String message)
Log error.- Parameters:
message- the message
-
logError
public void logError(String message, Throwable e)
Log error.- Parameters:
message- the messagee- the e
-
logError
public void logError(String message, Object... arguments)
Log error.- Parameters:
message- the messagearguments- the arguments
-
outputIsDone
public boolean outputIsDone()
Output is done.- Returns:
- true, if successful
-
stopAll
public void stopAll()
Description copied from interface:ITransformFlags all rowsets as stopped/completed/finished.- Specified by:
stopAllin interfaceITransform
-
isStopped
public boolean isStopped()
- Specified by:
isStoppedin interfaceIEngineComponent- Specified by:
isStoppedin interfaceITransform- Returns:
- True if the transform is marked as stopped. Execution should stop immediate.
-
isRunning
public boolean isRunning()
- Specified by:
isRunningin interfaceIEngineComponent- Specified by:
isRunningin interfaceITransform- Returns:
- true if the transform is running after having been initialized
-
isPaused
public boolean isPaused()
- Specified by:
isPausedin interfaceIEngineComponent- Specified by:
isPausedin interfaceITransform- Returns:
- True if the transform is paused
-
setStopped
public void setStopped(boolean stopped)
- Specified by:
setStoppedin interfaceITransform- Parameters:
stopped- true if the transform needs to be stopped
-
setSafeStopped
public void setSafeStopped(boolean stopped)
- Specified by:
setSafeStoppedin interfaceITransform- Parameters:
stopped- true if the transform needs to be safe stopped
-
isSafeStopped
public boolean isSafeStopped()
- Specified by:
isSafeStoppedin interfaceITransform- Returns:
- true if transform is safe stopped.
-
setRunning
public void setRunning(boolean running)
Description copied from interface:ITransformFlag the transform as running or not- Specified by:
setRunningin interfaceITransform- Parameters:
running- the running flag to set
-
pauseRunning
public void pauseRunning()
Description copied from interface:ITransformPause a running transform- Specified by:
pauseRunningin interfaceITransform
-
resumeRunning
public void resumeRunning()
Description copied from interface:ITransformResume a running transform- Specified by:
resumeRunningin interfaceITransform
-
setPaused
public void setPaused(boolean paused)
Sets the paused.- Parameters:
paused- the new paused
-
setPaused
public void setPaused(AtomicBoolean paused)
Sets the paused.- Parameters:
paused- the new paused
-
isInitialising
public boolean isInitialising()
Checks if is initialising.- Returns:
- true, if is initialising
-
markStart
public void markStart()
Description copied from interface:ITransformMark the start time of the transform.- Specified by:
markStartin interfaceITransform
-
setInternalVariables
public void setInternalVariables()
Sets the internal variables.
-
markStop
public void markStop()
Description copied from interface:ITransformMark the end time of the transform.- Specified by:
markStopin interfaceITransform
-
getExecutionDuration
public long getExecutionDuration()
- Specified by:
getExecutionDurationin interfaceIEngineComponent- Specified by:
getExecutionDurationin interfaceITransform- Returns:
- The number of ms that this transform has been running
-
getInputBufferSize
public long getInputBufferSize()
- Specified by:
getInputBufferSizein interfaceIEngineComponent
-
getOutputBufferSize
public long getOutputBufferSize()
- Specified by:
getOutputBufferSizein interfaceIEngineComponent
-
rowsetOutputSize
public int rowsetOutputSize()
- Specified by:
rowsetOutputSizein interfaceITransform- Returns:
- The total amount of rows in the output buffers
-
rowsetInputSize
public int rowsetInputSize()
- Specified by:
rowsetInputSizein interfaceITransform- Returns:
- The total amount of rows in the input buffers
-
stopRunning
public void stopRunning() throws HopExceptionPerform actions to stop a running transform. This can be stopping running Sql queries (cancel), etc. Default it doesn't do anything.- Specified by:
stopRunningin interfaceITransform- Throws:
HopException- in case something goes wrong
-
logSummary
public void logSummary()
Log summary.
-
getTransformPluginId
public String getTransformPluginId()
- Specified by:
getTransformPluginIdin interfaceITransform- Returns:
- the type ID of the transform...
-
getInputRowSets
public List<IRowSet> getInputRowSets()
- Specified by:
getInputRowSetsin interfaceITransform- Returns:
- Returns the inputRowSets.
-
addRowSetToInputRowSets
public void addRowSetToInputRowSets(IRowSet rowSet)
- Specified by:
addRowSetToInputRowSetsin interfaceITransform
-
getFirstInputRowSet
protected IRowSet getFirstInputRowSet()
-
clearInputRowSets
protected void clearInputRowSets()
-
swapFirstInputRowSetIfExists
protected void swapFirstInputRowSetIfExists(String transformName)
-
setInputRowSets
public void setInputRowSets(List<IRowSet> inputRowSets)
- Parameters:
inputRowSets- The inputRowSets to set.
-
getOutputRowSets
public List<IRowSet> getOutputRowSets()
- Specified by:
getOutputRowSetsin interfaceITransform- Returns:
- Returns the outputRowSets.
-
addRowSetToOutputRowSets
public void addRowSetToOutputRowSets(IRowSet rowSet)
- Specified by:
addRowSetToOutputRowSetsin interfaceITransform
-
clearOutputRowSets
protected void clearOutputRowSets()
-
setOutputRowSets
public void setOutputRowSets(List<IRowSet> outputRowSets)
- Parameters:
outputRowSets- The outputRowSets to set.
-
isDistributed
public boolean isDistributed()
- Returns:
- Returns the distributed.
-
setDistributed
public void setDistributed(boolean distributed)
- Parameters:
distributed- The distributed to set.
-
addRowListener
public void addRowListener(IRowListener rowListener)
Description copied from interface:ITransformAdd a rowlistener to the transform allowing you to inspect (or manipulate, be careful) the rows coming in or exiting the transform.- Specified by:
addRowListenerin interfaceIEngineComponent- Specified by:
addRowListenerin interfaceITransform- Parameters:
rowListener- the rowlistener to add
-
removeRowListener
public void removeRowListener(IRowListener rowListener)
Description copied from interface:ITransformRemove a rowlistener from this transform.- Specified by:
removeRowListenerin interfaceIEngineComponent- Specified by:
removeRowListenerin interfaceITransform- Parameters:
rowListener- the rowlistener to remove
-
getRowListeners
public List<IRowListener> getRowListeners()
- Specified by:
getRowListenersin interfaceITransform- Returns:
- a list of the installed RowListeners
-
addResultFile
public void addResultFile(ResultFile resultFile)
Adds the result file.- Parameters:
resultFile- the result file
-
getResultFiles
public Map<String,ResultFile> getResultFiles()
- Specified by:
getResultFilesin interfaceITransform- Returns:
- The result files for this transform
-
getStatus
public EngineComponent.ComponentExecutionStatus getStatus()
Description copied from interface:IEngineComponentGet the execution status of the component- Specified by:
getStatusin interfaceIEngineComponent- Specified by:
getStatusin interfaceITransform- Returns:
- the description as in
ITransformData
-
getPartitionId
public String getPartitionId()
- Specified by:
getPartitionIdin interfaceITransform- Returns:
- the partitionId
-
setPartitionId
public void setPartitionId(String partitionId)
- Specified by:
setPartitionIdin interfaceITransform- Parameters:
partitionId- the partitionId to set
-
getPartitionTargets
public Map<String,BlockingRowSet> getPartitionTargets()
- Returns:
- the partitionTargets
-
setPartitionTargets
public void setPartitionTargets(Map<String,BlockingRowSet> partitionTargets)
- Parameters:
partitionTargets- the partitionTargets to set
-
getRepartitioning
public int getRepartitioning()
- Returns:
- the repartitioning type
-
setRepartitioning
public void setRepartitioning(int repartitioning)
- Specified by:
setRepartitioningin interfaceITransform- Parameters:
repartitioning- the repartitioning type to set
-
isPartitioned
public boolean isPartitioned()
- Specified by:
isPartitionedin interfaceITransform- Returns:
- the partitioned
-
setPartitioned
public void setPartitioned(boolean partitioned)
- Specified by:
setPartitionedin interfaceITransform- Parameters:
partitioned- the partitioned to set
-
checkFeedback
protected boolean checkFeedback(long lines)
Check feedback.- Parameters:
lines- the lines- Returns:
- true, if successful
-
getInputRowMeta
public IRowMeta getInputRowMeta()
- Returns:
- the rowMeta
-
setInputRowMeta
public void setInputRowMeta(IRowMeta rowMeta)
- Parameters:
rowMeta- the rowMeta to set
-
getErrorRowMeta
public IRowMeta getErrorRowMeta()
- Returns:
- the errorRowMeta
-
setErrorRowMeta
public void setErrorRowMeta(IRowMeta errorRowMeta)
- Parameters:
errorRowMeta- the errorRowMeta to set
-
getPreviewRowMeta
public IRowMeta getPreviewRowMeta()
- Returns:
- the previewRowMeta
-
setPreviewRowMeta
public void setPreviewRowMeta(IRowMeta previewRowMeta)
- Parameters:
previewRowMeta- the previewRowMeta to set
-
copyFrom
public void copyFrom(IVariables variables)
- Specified by:
copyFromin interfaceIVariables
-
resolve
public String resolve(String aString)
- Specified by:
resolvein interfaceIVariables
-
resolve
public String[] resolve(String[] aString)
- Specified by:
resolvein interfaceIVariables
-
resolve
public String resolve(String aString, IRowMeta rowMeta, Object[] rowData) throws HopValueException
- Specified by:
resolvein interfaceIVariables- Throws:
HopValueException
-
getParentVariables
public IVariables getParentVariables()
- Specified by:
getParentVariablesin interfaceIVariables
-
setParentVariables
public void setParentVariables(IVariables parent)
- Specified by:
setParentVariablesin interfaceIVariables
-
getVariable
public String getVariable(String variableName, String defaultValue)
- Specified by:
getVariablein interfaceIVariables
-
getVariable
public String getVariable(String variableName)
- Specified by:
getVariablein interfaceIVariables
-
getVariableBoolean
public boolean getVariableBoolean(String variableName, boolean defaultValue)
- Specified by:
getVariableBooleanin interfaceIVariables
-
initializeFrom
public void initializeFrom(IVariables parent)
- Specified by:
initializeFromin interfaceIVariables
-
getVariableNames
public String[] getVariableNames()
- Specified by:
getVariableNamesin interfaceIVariables
-
setVariable
public void setVariable(String variableName, String variableValue)
- Specified by:
setVariablein interfaceIVariables
-
shareWith
public void shareWith(IVariables variables)
- Specified by:
shareWithin interfaceIVariables
-
setVariables
public void setVariables(Map<String,String> map)
- Specified by:
setVariablesin interfaceIVariables
-
initBeforeStart
public void initBeforeStart() throws HopTransformExceptionThis method is executed by Pipeline right before the threads start and right after initialization.More to the point: here we open remote output transform sockets.
- Specified by:
initBeforeStartin interfaceITransform- Throws:
HopTransformException- In case there is an error
-
processRow
public boolean processRow() throws HopExceptionDescription copied from interface:ITransformPerform the equivalent of processing one row. Typically this means reading a row from input (getRow()) and passing a row to output (putRow)).- Specified by:
processRowin interfaceITransform- Returns:
- false if no more rows can be processed or an error occurred.
- Throws:
HopException
-
canProcessOneRow
public boolean canProcessOneRow()
Description copied from interface:ITransformThis method checks if the transform is capable of processing at least one row.For example, if a transform has no input records but needs at least one to function, it will return false.
- Specified by:
canProcessOneRowin interfaceITransform- Returns:
- true if the transform can process a row.
-
addTransformFinishedListener
public void addTransformFinishedListener(ITransformFinishedListener transformFinishedListener)
Description copied from interface:ITransformAttach a transform listener to be notified when a transform finishes- Specified by:
addTransformFinishedListenerin interfaceITransform- Parameters:
transformFinishedListener- The listener to add to the transform
-
addTransformStartedListener
public void addTransformStartedListener(ITransformStartedListener transformStartedListener)
Description copied from interface:ITransformAttach a transform listener to be notified when a transform starts- Specified by:
addTransformStartedListenerin interfaceITransform- Parameters:
transformStartedListener- The listener to add to the transform
-
getTransformFinishedListeners
public List<ITransformFinishedListener> getTransformFinishedListeners()
Gets transformFinishedListeners- Returns:
- value of transformFinishedListeners
-
setTransformFinishedListeners
public void setTransformFinishedListeners(List<ITransformFinishedListener> transformFinishedListeners)
- Parameters:
transformFinishedListeners- The transformFinishedListeners to set
-
getTransformStartedListeners
public List<ITransformStartedListener> getTransformStartedListeners()
Gets transformStartedListeners- Returns:
- value of transformStartedListeners
-
setTransformStartedListeners
public void setTransformStartedListeners(List<ITransformStartedListener> transformStartedListeners)
- Parameters:
transformStartedListeners- The transformStartedListeners to set
-
isMapping
public boolean isMapping()
- Specified by:
isMappingin interfaceITransform- Returns:
- true if the thread is a special mapping transform
-
getObjectName
public String getObjectName()
- Specified by:
getObjectNamein interfaceILoggingObject
-
getLogChannel
public ILogChannel getLogChannel()
- Specified by:
getLogChannelin interfaceIEngineComponent- Specified by:
getLogChannelin interfaceIHasLogChannel- Specified by:
getLogChannelin interfaceITransform- Returns:
- the logging channel for this transform
-
getName
public String getName()
- Specified by:
getNamein interfaceIEngineComponent- Returns:
- The component name
-
getCopyNr
public int getCopyNr()
Gets copyNr- Specified by:
getCopyNrin interfaceIEngineComponent- Returns:
- value of copyNr
-
setCopyNr
public void setCopyNr(int copyNr)
- Parameters:
copyNr- The copyNr to set
-
getLogText
public String getLogText()
Description copied from interface:IEngineComponentRetrieve the logging text of this component in the engine- Specified by:
getLogTextin interfaceIEngineComponent- Returns:
- logging text
-
getFilename
public String getFilename()
- Specified by:
getFilenamein interfaceILoggingObject
-
getLogChannelId
public String getLogChannelId()
- Specified by:
getLogChannelIdin interfaceIEngineComponent- Specified by:
getLogChannelIdin interfaceILoggingObject- Returns:
- The log channel ID or null if there is no separate log channel.
-
getObjectType
public LoggingObjectType getObjectType()
- Specified by:
getObjectTypein interfaceILoggingObject
-
getParent
public ILoggingObject getParent()
- Specified by:
getParentin interfaceILoggingObject
-
getObjectCopy
public String getObjectCopy()
- Specified by:
getObjectCopyin interfaceILoggingObject
-
getLogLevel
public LogLevel getLogLevel()
- Specified by:
getLogLevelin interfaceIEngineComponent- Specified by:
getLogLevelin interfaceILoggingObject
-
setLogLevel
public void setLogLevel(LogLevel logLevel)
Sets the log level.- Specified by:
setLogLevelin interfaceIEngineComponent- Parameters:
logLevel- the new log level
-
closeQuietly
public static void closeQuietly(Closeable cl)
Close quietly.- Parameters:
cl- the object that can be closed.
-
getContainerId
public String getContainerId()
Returns the container object ID.- Specified by:
getContainerIdin interfaceILoggingObject- Returns:
- the containerObjectId
-
setCarteObjectId
public void setCarteObjectId(String containerObjectId)
Sets the container object ID.- Parameters:
containerObjectId- the containerObjectId to set
-
batchComplete
public void batchComplete() throws HopExceptionDescription copied from interface:ITransformWhen using the Single threaded engine this signals to the transform that a batch of records has been processed and that no more are expected in this batch.- Specified by:
batchCompletein interfaceITransform- Throws:
HopException- In case an error occurs during the processing of the batch of rows.- See Also:
ITransform.batchComplete()
-
startBundle
public void startBundle() throws HopExceptionDescription copied from interface:ITransformWhen running in a Beam context this signals the transform that a new bundle was started. File writing transforms might want to create new files here.- Specified by:
startBundlein interfaceITransform- Throws:
HopException
-
finishBundle
public void finishBundle() throws HopExceptionDescription copied from interface:ITransformWhen running in a Beam context this signals the transform that a bundle was finished. File writing transforms will want to close open file(s) here.- Specified by:
finishBundlein interfaceITransform- Throws:
HopException
-
getRegistrationDate
public Date getRegistrationDate()
Returns the registration date- Specified by:
getRegistrationDatein interfaceILoggingObject
-
isGatheringMetrics
public boolean isGatheringMetrics()
- Specified by:
isGatheringMetricsin interfaceILoggingObject
-
setGatheringMetrics
public void setGatheringMetrics(boolean gatheringMetrics)
- Specified by:
setGatheringMetricsin interfaceILoggingObject
-
isForcingSeparateLogging
public boolean isForcingSeparateLogging()
- Specified by:
isForcingSeparateLoggingin interfaceILoggingObject
-
setForcingSeparateLogging
public void setForcingSeparateLogging(boolean forcingSeparateLogging)
- Specified by:
setForcingSeparateLoggingin interfaceILoggingObject
-
getMetadataProvider
public IHopMetadataProvider getMetadataProvider()
- Specified by:
getMetadataProviderin interfaceITransform- Returns:
- The metadata that the transform uses to load external elements from.
-
setMetadataProvider
public void setMetadataProvider(IHopMetadataProvider metadataProvider)
Description copied from interface:ITransformPass along the metadata to use when loading external elements at runtime.- Specified by:
setMetadataProviderin interfaceITransform- Parameters:
metadataProvider- The metadata to use
-
getCurrentOutputRowSetNr
public int getCurrentOutputRowSetNr()
- Specified by:
getCurrentOutputRowSetNrin interfaceITransform- Returns:
- the index of the active (current) output row set
-
setCurrentOutputRowSetNr
public void setCurrentOutputRowSetNr(int index)
- Specified by:
setCurrentOutputRowSetNrin interfaceITransform- Parameters:
index- Sets the index of the active (current) output row set to use.
-
getCurrentInputRowSetNr
public int getCurrentInputRowSetNr()
- Specified by:
getCurrentInputRowSetNrin interfaceITransform- Returns:
- the index of the active (current) input row set
-
setCurrentInputRowSetNr
public void setCurrentInputRowSetNr(int index)
- Specified by:
setCurrentInputRowSetNrin interfaceITransform- Parameters:
index- Sets the index of the active (current) input row set to use.
-
getExtensionDataMap
public Map<String,Object> getExtensionDataMap()
- Specified by:
getExtensionDataMapin interfaceIExtensionData
-
getInitStartDate
public Date getInitStartDate()
Gets initStartDate- Specified by:
getInitStartDatein interfaceIEngineComponent- Specified by:
getInitStartDatein interfaceITransform- Returns:
- value of initStartDate
-
setInitStartDate
public void setInitStartDate(Date initStartDate)
- Specified by:
setInitStartDatein interfaceIEngineComponent- Specified by:
setInitStartDatein interfaceITransform- Parameters:
initStartDate- The initStartDate to set
-
getExecutionStartDate
public Date getExecutionStartDate()
Gets executionStartDate- Specified by:
getExecutionStartDatein interfaceIEngineComponent- Specified by:
getExecutionStartDatein interfaceITransform- Returns:
- value of executionStartDate
-
setExecutionStartDate
public void setExecutionStartDate(Date executionStartDate)
- Specified by:
setExecutionStartDatein interfaceIEngineComponent- Specified by:
setExecutionStartDatein interfaceITransform- Parameters:
executionStartDate- The executionStartDate to set
-
getFirstRowReadDate
public Date getFirstRowReadDate()
Gets firstRowReadDate- Specified by:
getFirstRowReadDatein interfaceIEngineComponent- Specified by:
getFirstRowReadDatein interfaceITransform- Returns:
- value of firstRowReadDate
-
setFirstRowReadDate
public void setFirstRowReadDate(Date firstRowReadDate)
- Specified by:
setFirstRowReadDatein interfaceIEngineComponent- Specified by:
setFirstRowReadDatein interfaceITransform- Parameters:
firstRowReadDate- The firstRowReadDate to set
-
getLastRowWrittenDate
public Date getLastRowWrittenDate()
Gets lastRowWrittenDate- Specified by:
getLastRowWrittenDatein interfaceIEngineComponent- Specified by:
getLastRowWrittenDatein interfaceITransform- Returns:
- value of lastRowWrittenDate
-
setLastRowWrittenDate
public void setLastRowWrittenDate(Date lastRowWrittenDate)
- Specified by:
setLastRowWrittenDatein interfaceIEngineComponent- Specified by:
setLastRowWrittenDatein interfaceITransform- Parameters:
lastRowWrittenDate- The lastRowWrittenDate to set
-
getExecutionEndDate
public Date getExecutionEndDate()
Gets executionEndDate- Specified by:
getExecutionEndDatein interfaceIEngineComponent- Specified by:
getExecutionEndDatein interfaceITransform- Returns:
- value of executionEndDate
-
setExecutionEndDate
public void setExecutionEndDate(Date executionEndDate)
- Specified by:
setExecutionEndDatein interfaceIEngineComponent- Specified by:
setExecutionEndDatein interfaceITransform- Parameters:
executionEndDate- The executionEndDate to set
-
setAllowEmptyFieldNamesAndTypes
public void setAllowEmptyFieldNamesAndTypes(boolean allowEmptyFieldNamesAndTypes)
Sets allowEmptyFieldNamesAndTypes- Parameters:
allowEmptyFieldNamesAndTypes- value of allowEmptyFieldNamesAndTypes
-
isAllowEmptyFieldNamesAndTypes
public boolean isAllowEmptyFieldNamesAndTypes()
Gets allowEmptyFieldNamesAndTypes- Returns:
- value of allowEmptyFieldNamesAndTypes
-
-