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 TextFileOutputDatadataTextFileOutputMetameta-
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 StringbuildFilename(String filename, boolean ziparchive)protected voidclose()protected booleancloseFile()protected booleancloseFile(String filename)booleancontainsSeparatorOrEnclosure(byte[] source, byte[] separator, byte[] enclosure)voiddispose(StepMetaInterface smi, StepDataInterface sdi)Dispose of this step: close files, empty logs, etc.voidflushOpenFiles(boolean closeAfterFlush)protected org.apache.commons.vfs2.FileObjectgetFileObject(String vfsFilename)protected org.apache.commons.vfs2.FileObjectgetFileObject(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space)intgetFlushInterval()intgetMaxOpenFiles()StringgetOutputFileName(Object[] row)protected OutputStreamgetOutputStream(String vfsFilename, org.pentaho.di.core.variables.VariableSpace space, boolean append)booleaninit(StepMetaInterface smi, StepDataInterface sdi)Initialize and do work where other steps need to wait for...protected voidinitBinaryDataFields()voidinitFileStreamWriter(String filename)protected voidinitOutput()booleanisFileExists(String filename)booleanisWriteHeader(String filename)booleanprocessRow(StepMetaInterface smi, StepDataInterface sdi)Perform the equivalent of processing one row.protected booleanwriteEndedLine()protected booleanwriteHeader()voidwriteRow(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] r)protected booleanwriteRowTo(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:StepInterfacePerform 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 interfaceStepInterface- Overrides:
processRowin 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:StepInterfaceInitialize and do work where other steps need to wait for...- Specified by:
initin interfaceStepInterface- Overrides:
initin 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:StepInterfaceDispose of this step: close files, empty logs, etc.- Specified by:
disposein interfaceStepInterface- Overrides:
disposein 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
-
-