org.pentaho.di.trans.steps.textfileoutput
Class TextFileOutputMeta

java.lang.Object
  extended by org.pentaho.di.trans.step.BaseStepMeta
      extended by org.pentaho.di.trans.steps.textfileoutput.TextFileOutputMeta
All Implemented Interfaces:
Cloneable, StepAttributesInterface, StepMetaInterface

public class TextFileOutputMeta
extends BaseStepMeta
implements StepMetaInterface


Field Summary
static int FILE_COMPRESSION_TYPE_GZIP
           
static int FILE_COMPRESSION_TYPE_NONE
           
static int FILE_COMPRESSION_TYPE_ZIP
           
static String[] fileCompressionTypeCodes
           
static String[] formatMapperLineTerminator
           
 
Fields inherited from class org.pentaho.di.trans.step.BaseStepMeta
loggingObject, STEP_ATTRIBUTES_FILE
 
Constructor Summary
TextFileOutputMeta()
           
 
Method Summary
 void allocate(int nrfields)
           
 String buildFilename(String filename, String extension, VariableSpace space, int stepnr, String partnr, int splitnr, boolean ziparchive, TextFileOutputMeta meta)
           
 String buildFilename(VariableSpace space, int stepnr, String partnr, int splitnr, boolean ziparchive)
           
 void check(List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepinfo, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info)
          Checks the settings of this step and puts the findings in a remarks List.
 Object clone()
          Make an exact copy of this step, make sure to explicitly copy Collections etc.
 String exportResources(VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface resourceNamingInterface, Repository repository)
          Since the exported transformation that runs this will reside in a ZIP file, we can't reference files relatively.
 String getDateTimeFormat()
           
 String getEnclosure()
           
 String getEncoding()
           
 String getEndedLine()
           
 String getExtension()
           
 void getFields(RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space)
          Get the fields that are emitted by this step
 String getFileCompression()
           
 String getFileFormat()
           
 String getFileName()
           
 String getFileNameField()
           
 String[] getFiles(VariableSpace space)
           
 String getNewline()
           
 String getNewLine(String fformat)
           
 TextFileField[] getOutputFields()
           
 String getSeparator()
           
 int getSplitEvery()
           
 StepInterface getStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta transMeta, Trans trans)
          Get the executing step, needed by Trans to launch a step.
 StepDataInterface getStepData()
          Get a new instance of the appropriate data class.
 String getXML()
          Produces the XML string that describes this step's information.
 boolean isAddToResultFiles()
           
 boolean isCreateParentFolder()
           
 boolean isDateInFilename()
           
 boolean isDoNotOpenNewFileInit()
           
 boolean isEnclosureFixDisabled()
           
 boolean isEnclosureForced()
           
 boolean isFastDump()
           
 boolean isFileAppended()
           
 boolean isFileAsCommand()
           
 boolean isFileNameInField()
           
 boolean isFooterEnabled()
           
 boolean isHeaderEnabled()
           
 boolean isPadded()
           
 boolean isPartNrInFilename()
           
 boolean isServletOutput()
           
 boolean isSpecifyingFormat()
           
 boolean isStepNrInFilename()
           
 boolean isTimeInFilename()
           
 void loadXML(Node stepnode, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Load the values for this step from an XML Node
 void readData(Node stepnode)
           
 void readRep(Repository rep, ObjectId id_step, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Read the steps information from a Kettle repository
 void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step)
          Save the steps data into a Kettle repository
 void setAddToResultFiles(boolean addtoresultfilenamesin)
           
 void setCreateParentFolder(boolean createparentfolder)
           
 void setDateInFilename(boolean dateInFilename)
           
 void setDateTimeFormat(String dateTimeFormat)
           
 void setDefault()
          Set default values
 void setDoNotOpenNewFileInit(boolean doNotOpenNewFileInit)
           
 void setEnclosure(String enclosure)
           
 void setEnclosureFixDisabled(boolean disableEnclosureFix)
           
 void setEnclosureForced(boolean enclosureForced)
           
 void setEncoding(String encoding)
           
 void setEndedLine(String endedLine)
           
 void setExtension(String extension)
           
 void setFastDump(boolean fastDump)
           
 void setFileAppended(boolean fileAppended)
           
 void setFileAsCommand(boolean fileAsCommand)
           
 void setFileCompression(String fileCompression)
           
 void setFileFormat(String fileFormat)
           
 void setFilename(String fileName)
           
 void setFileName(String fileName)
           
 void setFileNameField(String fileNameField)
           
 void setFileNameInField(boolean fileNameInField)
           
 void setFooterEnabled(boolean footer)
           
 void setHeaderEnabled(boolean header)
           
 void setNewline(String newline)
           
 void setOutputFields(TextFileField[] outputFields)
           
 void setPadded(boolean padded)
           
 void setPartNrInFilename(boolean partNrInFilename)
           
 void setSeparator(String separator)
           
 void setServletOutput(boolean servletOutput)
           
 void setSpecifyingFormat(boolean specifyingFormat)
           
 void setSplitEvery(int splitEvery)
           
 void setStepNrInFilename(boolean stepNrInFilename)
           
 void setTimeInFilename(boolean timeInFilename)
           
 
Methods inherited from class org.pentaho.di.trans.step.BaseStepMeta
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, findAttribute, findParent, getDescription, getDialogClassName, getLog, getLogChannelId, getName, getObjectCopy, getObjectId, getObjectRevision, getObjectType, getOptionalStreams, getParent, getParentStepMeta, getRepCode, getRepositoryDirectory, getRequiredFields, getRequiredFields, getResourceDependencies, getSQLStatements, getStepInjectionMetadataEntries, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getTooltip, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, getXmlCode, handleStreamSelection, hasChanged, hasRepositoryReferences, isBasic, isDebug, isDetailed, isRowLevel, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setChanged, setChanged, setParentStepMeta, supportsErrorHandling
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.trans.step.StepMetaInterface
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, getDialogClassName, getOptionalStreams, getParentStepMeta, getRequiredFields, getResourceDependencies, getSQLStatements, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, handleStreamSelection, hasRepositoryReferences, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setParentStepMeta, supportsErrorHandling
 

Field Detail

FILE_COMPRESSION_TYPE_NONE

public static final int FILE_COMPRESSION_TYPE_NONE
See Also:
Constant Field Values

FILE_COMPRESSION_TYPE_ZIP

public static final int FILE_COMPRESSION_TYPE_ZIP
See Also:
Constant Field Values

FILE_COMPRESSION_TYPE_GZIP

public static final int FILE_COMPRESSION_TYPE_GZIP
See Also:
Constant Field Values

fileCompressionTypeCodes

public static final String[] fileCompressionTypeCodes

formatMapperLineTerminator

public static final String[] formatMapperLineTerminator
Constructor Detail

TextFileOutputMeta

public TextFileOutputMeta()
Method Detail

isFileAsCommand

public boolean isFileAsCommand()
Returns:
FileAsCommand

setFileAsCommand

public void setFileAsCommand(boolean fileAsCommand)
Parameters:
fileAsCommand - The fileAsCommand to set

isServletOutput

public boolean isServletOutput()

setServletOutput

public void setServletOutput(boolean servletOutput)

setCreateParentFolder

public void setCreateParentFolder(boolean createparentfolder)
Parameters:
createparentfolder - The createparentfolder to set.

isCreateParentFolder

public boolean isCreateParentFolder()
Returns:
Returns the createparentfolder.

isDateInFilename

public boolean isDateInFilename()
Returns:
Returns the dateInFilename.

setDateInFilename

public void setDateInFilename(boolean dateInFilename)
Parameters:
dateInFilename - The dateInFilename to set.

getEnclosure

public String getEnclosure()
Returns:
Returns the enclosure.

setEnclosure

public void setEnclosure(String enclosure)
Parameters:
enclosure - The enclosure to set.

isEnclosureForced

public boolean isEnclosureForced()
Returns:
Returns the enclosureForced.

setEnclosureForced

public void setEnclosureForced(boolean enclosureForced)
Parameters:
enclosureForced - The enclosureForced to set.

isEnclosureFixDisabled

public boolean isEnclosureFixDisabled()
Returns:
Returns the enclosureFixDisabled.

setEnclosureFixDisabled

public void setEnclosureFixDisabled(boolean disableEnclosureFix)
Parameters:
enclosureFixDisabled - The enclosureFixDisabled to set.

getExtension

public String getExtension()
Returns:
Returns the extension.

setExtension

public void setExtension(String extension)
Parameters:
extension - The extension to set.

isAddToResultFiles

public boolean isAddToResultFiles()
Returns:
Returns the add to result filesname.

setAddToResultFiles

public void setAddToResultFiles(boolean addtoresultfilenamesin)
Parameters:
addtoresultfilenamesin - The addtoresultfilenames to set.

isFileAppended

public boolean isFileAppended()
Returns:
Returns the fileAppended.

setFileAppended

public void setFileAppended(boolean fileAppended)
Parameters:
fileAppended - The fileAppended to set.

getFileFormat

public String getFileFormat()
Returns:
Returns the fileFormat.

setFileFormat

public void setFileFormat(String fileFormat)
Parameters:
fileFormat - The fileFormat to set.

getFileCompression

public String getFileCompression()
Returns:
Returns the fileCompression.

setFileCompression

public void setFileCompression(String fileCompression)
Parameters:
fileCompression - The fileCompression to set.

getFileName

public String getFileName()
Returns:
Returns the fileName.

setFileName

public void setFileName(String fileName)
Parameters:
fileName - The fileName to set.

isFooterEnabled

public boolean isFooterEnabled()
Returns:
Returns the footer.

setFooterEnabled

public void setFooterEnabled(boolean footer)
Parameters:
footer - The footer to set.

isHeaderEnabled

public boolean isHeaderEnabled()
Returns:
Returns the header.

setHeaderEnabled

public void setHeaderEnabled(boolean header)
Parameters:
header - The header to set.

getNewline

public String getNewline()
Returns:
Returns the newline.

setNewline

public void setNewline(String newline)
Parameters:
newline - The newline to set.

isPadded

public boolean isPadded()
Returns:
Returns the padded.

setPadded

public void setPadded(boolean padded)
Parameters:
padded - The padded to set.

isFastDump

public boolean isFastDump()
Returns:
Returns the fastDump.

setFastDump

public void setFastDump(boolean fastDump)
Parameters:
fastDump - The fastDump to set.

getSeparator

public String getSeparator()
Returns:
Returns the separator.

setSeparator

public void setSeparator(String separator)
Parameters:
separator - The separator to set.

isDoNotOpenNewFileInit

public boolean isDoNotOpenNewFileInit()
Returns:
Returns the "do not open new file at init" flag.

setDoNotOpenNewFileInit

public void setDoNotOpenNewFileInit(boolean doNotOpenNewFileInit)
Parameters:
doNotOpenNewFileInit - The "do not open new file at init" flag to set.

getSplitEvery

public int getSplitEvery()
Returns:
Returns the splitEvery.

setSplitEvery

public void setSplitEvery(int splitEvery)
Parameters:
splitEvery - The splitEvery to set.

isStepNrInFilename

public boolean isStepNrInFilename()
Returns:
Returns the stepNrInFilename.

setStepNrInFilename

public void setStepNrInFilename(boolean stepNrInFilename)
Parameters:
stepNrInFilename - The stepNrInFilename to set.

isPartNrInFilename

public boolean isPartNrInFilename()
Returns:
Returns the partNrInFilename.

setPartNrInFilename

public void setPartNrInFilename(boolean partNrInFilename)
Parameters:
partNrInFilename - The partNrInFilename to set.

isTimeInFilename

public boolean isTimeInFilename()
Returns:
Returns the timeInFilename.

setTimeInFilename

public void setTimeInFilename(boolean timeInFilename)
Parameters:
timeInFilename - The timeInFilename to set.

isSpecifyingFormat

public boolean isSpecifyingFormat()

setSpecifyingFormat

public void setSpecifyingFormat(boolean specifyingFormat)

getDateTimeFormat

public String getDateTimeFormat()

setDateTimeFormat

public void setDateTimeFormat(String dateTimeFormat)

getOutputFields

public TextFileField[] getOutputFields()
Returns:
Returns the outputFields.

setOutputFields

public void setOutputFields(TextFileField[] outputFields)
Parameters:
outputFields - The outputFields to set.

getEncoding

public String getEncoding()
Returns:
The desired encoding of output file, null or empty if the default system encoding needs to be used.

setEncoding

public void setEncoding(String encoding)
Parameters:
encoding - The desired encoding of output file, null or empty if the default system encoding needs to be used.

getEndedLine

public String getEndedLine()
Returns:
The desired last line in the output file, null or empty if nothing has to be added.

setEndedLine

public void setEndedLine(String endedLine)
Parameters:
endedLine - The desired last line in the output file, null or empty if nothing has to be added.

isFileNameInField

public boolean isFileNameInField()
Returns:
Is the file name coded in a field?

setFileNameInField

public void setFileNameInField(boolean fileNameInField)
Parameters:
fileNameInField - Is the file name coded in a field?

getFileNameField

public String getFileNameField()
Returns:
The field name that contains the output file name.

setFileNameField

public void setFileNameField(String fileNameField)
Parameters:
fileNameField - Name of the field that contains the file name

loadXML

public void loadXML(Node stepnode,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleXMLException
Description copied from interface: StepMetaInterface
Load the values for this step from an XML Node

Specified by:
loadXML in interface StepMetaInterface
Parameters:
stepnode - the Node to get the info from
databases - The available list of databases to reference to
counters - Counters to reference.
Throws:
KettleXMLException - When an unexpected XML error occurred. (malformed etc.)

allocate

public void allocate(int nrfields)

clone

public Object clone()
Description copied from interface: StepMetaInterface
Make an exact copy of this step, make sure to explicitly copy Collections etc.

Specified by:
clone in interface StepMetaInterface
Overrides:
clone in class BaseStepMeta
Returns:
an exact copy of this step

readData

public void readData(Node stepnode)
              throws KettleXMLException
Throws:
KettleXMLException

getNewLine

public String getNewLine(String fformat)

setDefault

public void setDefault()
Description copied from interface: StepMetaInterface
Set default values

Specified by:
setDefault in interface StepMetaInterface

getFiles

public String[] getFiles(VariableSpace space)

buildFilename

public String buildFilename(VariableSpace space,
                            int stepnr,
                            String partnr,
                            int splitnr,
                            boolean ziparchive)

buildFilename

public String buildFilename(String filename,
                            String extension,
                            VariableSpace space,
                            int stepnr,
                            String partnr,
                            int splitnr,
                            boolean ziparchive,
                            TextFileOutputMeta meta)

getFields

public void getFields(RowMetaInterface row,
                      String name,
                      RowMetaInterface[] info,
                      StepMeta nextStep,
                      VariableSpace space)
               throws KettleStepException
Description copied from interface: StepMetaInterface
Get the fields that are emitted by this step

Specified by:
getFields in interface StepMetaInterface
Overrides:
getFields in class BaseStepMeta
Parameters:
row - The fields that are entering the step. These are changed to reflect the output metadata.
name - The name of the step to be used as origin
info - The input rows metadata that enters the step through the specified channels in the same order as in method getInfoSteps(). The step metadata can then choose what to do with it: ignore it or not. Interesting is also that in case of database lookups, the layout of the target database table is put in info[0]
nextStep - if this is a non-null value, it's the next step in the transformation. The one who's asking, the step where the data is targetted towards.
space - TODO
Throws:
KettleStepException - when an error occurred searching for the fields.

getXML

public String getXML()
Description copied from class: BaseStepMeta
Produces the XML string that describes this step's information.

Specified by:
getXML in interface StepMetaInterface
Overrides:
getXML in class BaseStepMeta
Returns:
String containing the XML describing this step.

readRep

public void readRep(Repository rep,
                    ObjectId id_step,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleException
Description copied from interface: StepMetaInterface
Read the steps information from a Kettle repository

Specified by:
readRep in interface StepMetaInterface
Parameters:
rep - The repository to read from
id_step - The step ID
databases - The databases to reference
counters - The counters to reference
Throws:
KettleException - When an unexpected error occurred (database, network, etc)

saveRep

public void saveRep(Repository rep,
                    ObjectId id_transformation,
                    ObjectId id_step)
             throws KettleException
Description copied from interface: StepMetaInterface
Save the steps data into a Kettle repository

Specified by:
saveRep in interface StepMetaInterface
Parameters:
rep - The Kettle repository to save to
id_transformation - The transformation ID
id_step - The step ID
Throws:
KettleException - When an unexpected error occurred (database, network, etc)

check

public void check(List<CheckResultInterface> remarks,
                  TransMeta transMeta,
                  StepMeta stepinfo,
                  RowMetaInterface prev,
                  String[] input,
                  String[] output,
                  RowMetaInterface info)
Description copied from interface: StepMetaInterface
Checks the settings of this step and puts the findings in a remarks List.

Specified by:
check in interface StepMetaInterface
Parameters:
remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
stepinfo - The stepMeta to help checking
prev - The fields coming from the previous step
input - The input step names
output - The output step names
info - The fields that are used as information by the step

getStep

public StepInterface getStep(StepMeta stepMeta,
                             StepDataInterface stepDataInterface,
                             int cnr,
                             TransMeta transMeta,
                             Trans trans)
Description copied from interface: StepMetaInterface
Get the executing step, needed by Trans to launch a step.

Specified by:
getStep in interface StepMetaInterface
Parameters:
stepMeta - The step info
stepDataInterface - the step data interface linked to this step. Here the step can store temporary data, database connections, etc.
cnr - The copy nr to get
transMeta - The transformation info
trans - The launching transformation

getStepData

public StepDataInterface getStepData()
Description copied from interface: StepMetaInterface
Get a new instance of the appropriate data class. This data class implements the StepDataInterface. It basically contains the persisting data that needs to live on, even if a worker thread is terminated.

Specified by:
getStepData in interface StepMetaInterface
Returns:
The appropriate StepDataInterface class.

exportResources

public String exportResources(VariableSpace space,
                              Map<String,ResourceDefinition> definitions,
                              ResourceNamingInterface resourceNamingInterface,
                              Repository repository)
                       throws KettleException
Since the exported transformation that runs this will reside in a ZIP file, we can't reference files relatively. So what this does is turn the name of the base path into an absolute path.

Specified by:
exportResources in interface StepMetaInterface
Overrides:
exportResources in class BaseStepMeta
Parameters:
space - the variable space to use
repository - The repository to optionally load other resources from (to be converted to XML)
Returns:
the filename of the exported resource
Throws:
KettleException

setFilename

public void setFilename(String fileName)