Class TextFileOutputMeta

All Implemented Interfaces:
Cloneable, StepAttributesInterface, StepMetaInterface
Direct Known Subclasses:
TextFileOutputLegacyMeta

public class TextFileOutputMeta extends BaseFileOutputMeta implements StepMetaInterface
  • Field Details

    • FILE_COMPRESSION_TYPE_NONE

      protected static final int FILE_COMPRESSION_TYPE_NONE
      See Also:
    • FILE_COMPRESSION_TYPE_ZIP

      protected static final int FILE_COMPRESSION_TYPE_ZIP
      See Also:
    • fileCompressionTypeCodes

      protected static final String[] fileCompressionTypeCodes
    • formatMapperLineTerminator

      public static final String[] formatMapperLineTerminator
    • metaWithFieldOptions

      protected org.pentaho.di.core.row.ValueMetaInterface[] metaWithFieldOptions
  • Constructor Details

    • TextFileOutputMeta

      public TextFileOutputMeta()
  • Method Details

    • 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.
    • 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:
      disableEnclosureFix - The enclosureFixDisabled 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.
    • 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()
      Specified by:
      getSplitEvery in class BaseFileOutputMeta
      Returns:
      Returns the splitEvery.
    • getSplitEvery

      public int getSplitEvery(org.pentaho.di.core.variables.VariableSpace varSpace)
      Overrides:
      getSplitEvery in class BaseFileOutputMeta
      Parameters:
      varSpace - for variable substitution
      Returns:
      At how many rows to split into another file.
    • getSplitEveryRows

      public String getSplitEveryRows()
      Returns:
      At how many rows to split into a new file.
    • setSplitEveryRows

      public void setSplitEveryRows(String value)
      Parameters:
      value - At how many rows to split into a new file.
    • getFooterShift

      public int getFooterShift()
      Returns:
      1 if isFooterEnabled() and 0 otherwise
    • setSplitEvery

      public void setSplitEvery(int splitEvery)
      Deprecated.
      Specified by:
      setSplitEvery in class BaseFileOutputMeta
      Parameters:
      splitEvery - The splitEvery to set.
    • setStepNrInFilename

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

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

      public void setTimeInFilename(boolean timeInFilename)
      Parameters:
      timeInFilename - The timeInFilename to set.
    • 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<org.pentaho.di.core.database.DatabaseMeta> databases, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleXMLException
      Description copied from interface: StepMetaInterface
      Load the values for this step from an XML Node
      Specified by:
      loadXML in interface StepMetaInterface
      Overrides:
      loadXML in class BaseStepMeta
      Parameters:
      stepnode - the Node to get the info from
      databases - The available list of databases to reference to
      metaStore - the metastore to optionally load external reference metadata from
      Throws:
      org.pentaho.di.core.exception.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

      protected void readData(Node stepnode, org.pentaho.metastore.api.IMetaStore metastore) throws org.pentaho.di.core.exception.KettleXMLException
      Throws:
      org.pentaho.di.core.exception.KettleXMLException
    • readData

      public void readData(Node stepnode) throws org.pentaho.di.core.exception.KettleXMLException
      Throws:
      org.pentaho.di.core.exception.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
    • buildFilename

      public String buildFilename(org.pentaho.di.core.variables.VariableSpace space, int stepnr, String partnr, int splitnr, boolean ziparchive)
    • buildFilename

      public String buildFilename(String filename, String extension, org.pentaho.di.core.variables.VariableSpace space, int stepnr, String partnr, int splitnr, boolean ziparchive, TextFileOutputMeta meta)
    • 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.
    • saveFileOptions

      protected void saveFileOptions(StringBuilder retval)
    • readRep

      public void readRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_step, List<org.pentaho.di.core.database.DatabaseMeta> databases) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Read the steps information from a Kettle repository
      Specified by:
      readRep in interface StepMetaInterface
      Overrides:
      readRep in class BaseStepMeta
      Parameters:
      rep - The repository to read from
      metaStore - The MetaStore to read external information from
      id_step - The step ID
      databases - The databases to reference
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • saveRep

      public void saveRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_transformation, org.pentaho.di.repository.ObjectId id_step) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Save the steps data into a Kettle repository
      Specified by:
      saveRep in interface StepMetaInterface
      Overrides:
      saveRep in class BaseStepMeta
      Parameters:
      rep - The Kettle repository to save to
      metaStore - the metaStore to optionally write to
      id_transformation - The transformation ID
      id_step - The step ID
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • check

      public void check(List<org.pentaho.di.core.CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      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
      Overrides:
      check in class BaseStepMeta
      Parameters:
      remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
      stepMeta - 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
      space - the variable space to resolve variable expressions with
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
    • 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(org.pentaho.di.core.variables.VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface resourceNamingInterface, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.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
      definitions -
      resourceNamingInterface -
      repository - The repository to optionally load other resources from (to be converted to XML)
      metaStore - the metaStore in which non-kettle metadata could reside.
      Returns:
      the filename of the exported resource
      Throws:
      org.pentaho.di.core.exception.KettleException
    • setFilename

      public void setFilename(String fileName)
    • extractStepMetadataEntries

      public List<StepInjectionMetaEntry> extractStepMetadataEntries() throws org.pentaho.di.core.exception.KettleException
      Specified by:
      extractStepMetadataEntries in interface StepMetaInterface
      Overrides:
      extractStepMetadataEntries in class BaseStepMeta
      Returns:
      The step metadata itself, not the metadata description. For lists it will have 0 entries in case there are no entries.
      Throws:
      org.pentaho.di.core.exception.KettleException
    • loadSource

      protected String loadSource(Node stepnode, org.pentaho.metastore.api.IMetaStore metastore)
    • saveSource

      protected void saveSource(StringBuilder retVal, String value)
    • loadSourceRep

      protected String loadSourceRep(Repository rep, org.pentaho.di.repository.ObjectId id_step, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • saveSourceRep

      protected void saveSourceRep(Repository rep, org.pentaho.di.repository.ObjectId id_transformation, org.pentaho.di.repository.ObjectId id_step, String value) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • passDataToServletOutput

      public boolean passDataToServletOutput()
      True if the step passes it's result data straight to the servlet output. See exposing Kettle data over a web service http://wiki.pentaho.com/display/EAI/PDI+data+over+web+services
      Specified by:
      passDataToServletOutput in interface StepMetaInterface
      Overrides:
      passDataToServletOutput in class BaseFileMeta
      Returns:
      True if the step passes it's result data straight to the servlet output, false otherwise
    • calcMetaWithFieldOptions

      protected void calcMetaWithFieldOptions(TextFileOutputData data)

      Creates a copy of the meta information of the output fields, so that we don't make any changes to the original meta information.

      It is based on the original meta information and augmented with the information the user configured.

      Parameters:
      data -
    • getMetaWithFieldOptions

      protected org.pentaho.di.core.row.ValueMetaInterface[] getMetaWithFieldOptions()