Class TextFileOutput
- java.lang.Object
-
- org.pentaho.di.trans.step.BaseStep
-
- org.pentaho.di.trans.steps.textfileoutput.TextFileOutput
-
- All Implemented Interfaces:
org.pentaho.di.core.ExtensionDataInterface
,HasLogChannelInterface
,org.pentaho.di.core.logging.LoggingObjectInterface
,org.pentaho.di.core.logging.LoggingObjectLifecycleInterface
,org.pentaho.di.core.variables.VariableSpace
,StepInterface
- Direct Known Subclasses:
TextFileOutputLegacy
public class TextFileOutput extends BaseStep implements StepInterface
Converts input rows to text and then writes this text to one or more files.- Since:
- 4-apr-2003
- Author:
- Matt
-
-
Field Summary
Fields Modifier and Type Field Description TextFileOutputData
data
TextFileOutputMeta
meta
-
Fields inherited from class org.pentaho.di.trans.step.BaseStep
deadLockCounter, extensionDataMap, first, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, log, metaStore, repository, rowListeners, safeStopped, terminator, terminator_rows, variables
-
-
Constructor Summary
Constructors Constructor Description TextFileOutput(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
buildFilename(String filename, boolean ziparchive)
protected void
close()
protected boolean
closeFile()
protected boolean
closeFile(String filename)
boolean
containsSeparatorOrEnclosure(byte[] source, byte[] separator, byte[] enclosure)
void
dispose(StepMetaInterface smi, StepDataInterface sdi)
Dispose of this step: close files, empty logs, etc.void
flushOpenFiles(boolean closeAfterFlush)
protected org.apache.commons.vfs2.FileObject
getFileObject(String vfsFilename)
protected org.apache.commons.vfs2.FileObject
getFileObject(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space)
int
getFlushInterval()
int
getMaxOpenFiles()
String
getOutputFileName(Object[] row)
protected OutputStream
getOutputStream(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space, boolean append)
boolean
init(StepMetaInterface smi, StepDataInterface sdi)
Initialize and do work where other steps need to wait for...protected void
initBinaryDataFields()
void
initFileStreamWriter(String filename)
protected void
initOutput()
boolean
isFileExists(String filename)
boolean
isWriteHeader(String filename)
boolean
processRow(StepMetaInterface smi, StepDataInterface sdi)
Perform the equivalent of processing one row.protected boolean
writeEndedLine()
protected boolean
writeHeader()
void
writeRow(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] r)
protected boolean
writeRowTo(Object[] row)
-
Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addRowSetToInputRowSets, addRowSetToOutputRowSets, addStepListener, batchComplete, buildLog, canProcessOneRow, checkFeedback, cleanup, clearInputRowSets, clearOutputRowSets, closeQuietly, copyVariablesFrom, decrementLinesRead, decrementLinesWritten, dispatch, environmentSubstitute, environmentSubstitute, environmentSubstitute, fieldSubstitute, findInputRowSet, findInputRowSet, findOutputRowSet, findOutputRowSet, getBooleanValueOfVariable, getClusterSize, getContainerObjectId, getCopy, getCurrentInputRowSetNr, getCurrentOutputRowSetNr, getDispatcher, getErrorRowMeta, getErrors, getExtensionDataMap, getFilename, getFirstInputRowSet, getInputRowMeta, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesSkipped, getLinesUpdated, getLinesWritten, getLogChannel, getLogChannelId, getLogFields, getLogLevel, getMetaStore, getNextClassNr, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getOutputRowSets, getParent, getParentVariableSpace, getPartitionID, getPartitionTargets, getPreviewRowMeta, getProcessed, getRegistrationDate, getRemoteInputSteps, getRemoteOutputSteps, getRepartitioning, getRepository, getRepositoryDirectory, getResultFiles, getRow, getRowFrom, getRowHandler, getRowListeners, getRuntime, getServerSockets, getSlaveNr, getSocketRepository, getStatus, getStatusDescription, getStepDataInterface, getStepID, getStepListeners, getStepMeta, getStepMetaInterface, getStepname, getTrans, getTransMeta, getTypeId, getUniqueStepCountAcrossSlaves, getUniqueStepNrAcrossSlaves, getVariable, getVariable, handleGetRowFrom, handlePutRowTo, identifyErrorOutput, incrementLinesInput, incrementLinesOutput, incrementLinesRead, incrementLinesRejected, incrementLinesSkipped, incrementLinesUpdated, incrementLinesWritten, initBeforeStart, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDistributed, isForcingSeparateLogging, isGatheringMetrics, isInitialising, isMapping, isPartitioned, isPaused, isRowLevel, isRunning, isSafeStopped, isStopped, isUsingThreadPriorityManagment, listVariables, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, logSummary, markStart, markStop, openRemoteInputStepSocketsOnce, openRemoteOutputStepSocketsOnce, outputIsDone, pauseRunning, putError, putRow, putRowTo, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, safeModeChecking, safeModeChecking, setCarteObjectId, setCopy, setCurrentInputRowSetNr, setCurrentOutputRowSetNr, setDistributed, setErrorRowMeta, setErrors, setForcingSeparateLogging, setGatheringMetrics, setInputRowMeta, setInputRowSets, setInternalVariables, setLinesInput, setLinesOutput, setLinesRead, setLinesRejected, setLinesSkipped, setLinesUpdated, setLinesWritten, setLogLevel, setMetaStore, setOutputDone, setOutputRowSets, setParentVariableSpace, setPartitioned, setPartitionID, setPartitionTargets, setPaused, setPaused, setPreviewRowMeta, setRepartitioning, setRepository, setRowHandler, setRunning, setSafeStopped, setServerSockets, setSocketRepository, setStepDataInterface, setStepListeners, setStepMeta, setStepMetaInterface, setStepname, setStopped, setTransMeta, setUsingThreadPriorityManagment, setVariable, shareVariablesWith, stopAll, stopRunning, stopRunning, swapFirstInputRowSetIfExists, toString, verifyInputDeadLock, waitUntilTransformationIsStarted
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pentaho.di.core.logging.LoggingObjectLifecycleInterface
callAfterLog, callBeforeLog
-
Methods inherited from interface org.pentaho.di.trans.step.StepInterface
addRowListener, addRowSetToInputRowSets, addRowSetToOutputRowSets, addStepListener, batchComplete, canProcessOneRow, cleanup, getCopy, getCurrentInputRowSetNr, getCurrentOutputRowSetNr, getErrors, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesUpdated, getLinesWritten, getLogChannel, getMetaStore, getOutputRowSets, getPartitionID, getProcessed, getRepository, getResultFiles, getRow, getRowListeners, getRuntime, getStatus, getStepID, getStepMeta, getStepname, getTrans, identifyErrorOutput, initBeforeStart, isMapping, isPartitioned, isPaused, isRunning, isSafeStopped, isStopped, isUsingThreadPriorityManagment, markStart, markStop, pauseRunning, putRow, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, setCurrentInputRowSetNr, setCurrentOutputRowSetNr, setErrors, setLinesRejected, setMetaStore, setOutputDone, setPartitioned, setPartitionID, setRepartitioning, setRepository, setRunning, setSafeStopped, setStopped, setUsingThreadPriorityManagment, stopAll, stopRunning, subStatuses
-
Methods inherited from interface org.pentaho.di.core.variables.VariableSpace
copyVariablesFrom, environmentSubstitute, environmentSubstitute, environmentSubstitute, fieldSubstitute, getBooleanValueOfVariable, getParentVariableSpace, getVariable, getVariable, initializeVariablesFrom, injectVariables, listVariables, setParentVariableSpace, setVariable, shareVariablesWith
-
-
-
-
Field Detail
-
meta
public TextFileOutputMeta meta
-
data
public TextFileOutputData data
-
-
Constructor Detail
-
TextFileOutput
public TextFileOutput(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
-
-
Method Detail
-
isFileExists
public boolean isFileExists(String filename) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
initFileStreamWriter
public void initFileStreamWriter(String filename) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
getOutputFileName
public String getOutputFileName(Object[] row) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
getFlushInterval
public int getFlushInterval()
-
getMaxOpenFiles
public int getMaxOpenFiles()
-
isWriteHeader
public boolean isWriteHeader(String filename) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
flushOpenFiles
public void flushOpenFiles(boolean closeAfterFlush) throws IOException
- Throws:
IOException
-
processRow
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
Perform the equivalent of processing one row. Typically this means reading a row from input (getRow()) and passing a row to output (putRow)).- Specified by:
processRow
in interfaceStepInterface
- Overrides:
processRow
in classBaseStep
- Parameters:
smi
- The steps metadata to work withsdi
- The steps temporary working data to work with (database connections, result sets, caches, temporary variables, etc.)- Returns:
- false if no more rows can be processed or an error occurred.
- Throws:
org.pentaho.di.core.exception.KettleException
-
writeRowTo
protected boolean writeRowTo(Object[] row) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
writeRow
public void writeRow(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] r) throws org.pentaho.di.core.exception.KettleStepException
- Throws:
org.pentaho.di.core.exception.KettleStepException
-
writeEndedLine
protected boolean writeEndedLine()
-
writeHeader
protected boolean writeHeader()
-
closeFile
protected boolean closeFile(String filename)
-
closeFile
protected boolean closeFile()
-
init
public boolean init(StepMetaInterface smi, StepDataInterface sdi)
Description copied from interface:StepInterface
Initialize and do work where other steps need to wait for...- Specified by:
init
in interfaceStepInterface
- Overrides:
init
in classBaseStep
- Parameters:
smi
- The metadata to work withsdi
- The data to initialize
-
initOutput
protected void initOutput() throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
initBinaryDataFields
protected void initBinaryDataFields() throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
close
protected void close() throws IOException
- Throws:
IOException
-
dispose
public void dispose(StepMetaInterface smi, StepDataInterface sdi)
Description copied from interface:StepInterface
Dispose of this step: close files, empty logs, etc.- Specified by:
dispose
in interfaceStepInterface
- Overrides:
dispose
in classBaseStep
- Parameters:
smi
- The metadata to work withsdi
- The data to dispose of
-
containsSeparatorOrEnclosure
public boolean containsSeparatorOrEnclosure(byte[] source, byte[] separator, byte[] enclosure)
-
getFileObject
protected org.apache.commons.vfs2.FileObject getFileObject(String vfsFilename) throws org.pentaho.di.core.exception.KettleFileException
- Throws:
org.pentaho.di.core.exception.KettleFileException
-
getFileObject
protected org.apache.commons.vfs2.FileObject getFileObject(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleFileException
- Throws:
org.pentaho.di.core.exception.KettleFileException
-
getOutputStream
protected OutputStream getOutputStream(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space, boolean append) throws org.pentaho.di.core.exception.KettleFileException
- Throws:
org.pentaho.di.core.exception.KettleFileException
-
-