Class DatabaseLookupMeta

java.lang.Object
org.pentaho.di.trans.step.BaseStepMeta
org.pentaho.di.trans.steps.databaselookup.DatabaseLookupMeta
All Implemented Interfaces:
Cloneable, ProvidesDatabaseConnectionInformation, ProvidesModelerMeta, StepAttributesInterface, StepMetaInterface

public class DatabaseLookupMeta extends BaseStepMeta implements StepMetaInterface, ProvidesModelerMeta
  • Field Details

  • Constructor Details

    • DatabaseLookupMeta

      public DatabaseLookupMeta()
  • Method Details

    • isCached

      public boolean isCached()
      Returns:
      Returns the cached.
    • setCached

      public void setCached(boolean cached)
      Parameters:
      cached - The cached to set.
    • getCacheSize

      public int getCacheSize()
      Returns:
      Returns the cacheSize.
    • setCacheSize

      public void setCacheSize(int cacheSize)
      Parameters:
      cacheSize - The cacheSize to set.
    • getDatabaseMeta

      public org.pentaho.di.core.database.DatabaseMeta getDatabaseMeta()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the database meta for this step
      Specified by:
      getDatabaseMeta in interface ProvidesDatabaseConnectionInformation
      Returns:
      Returns the database.
    • getTableName

      public String getTableName()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the table name for this step
      Specified by:
      getTableName in interface ProvidesDatabaseConnectionInformation
      Returns:
    • setDatabaseMeta

      public void setDatabaseMeta(org.pentaho.di.core.database.DatabaseMeta database)
      Parameters:
      database - The database to set.
    • getKeyCondition

      public String[] getKeyCondition()
      Returns:
      Returns the keyCondition.
    • setKeyCondition

      public void setKeyCondition(String[] keyCondition)
      Parameters:
      keyCondition - The keyCondition to set.
    • getOrderByClause

      public String getOrderByClause()
      Returns:
      Returns the orderByClause.
    • setOrderByClause

      public void setOrderByClause(String orderByClause)
      Parameters:
      orderByClause - The orderByClause to set.
    • getReturnValueDefault

      public String[] getReturnValueDefault()
      Returns:
      Returns the returnValueDefault.
    • setReturnValueDefault

      public void setReturnValueDefault(String[] returnValueDefault)
      Parameters:
      returnValueDefault - The returnValueDefault to set.
    • getReturnValueDefaultType

      public int[] getReturnValueDefaultType()
      Returns:
      Returns the returnValueDefaultType.
    • setReturnValueDefaultType

      public void setReturnValueDefaultType(int[] returnValueDefaultType)
      Parameters:
      returnValueDefaultType - The returnValueDefaultType to set.
    • getReturnValueField

      public String[] getReturnValueField()
      Returns:
      Returns the returnValueField.
    • setReturnValueField

      public void setReturnValueField(String[] returnValueField)
      Parameters:
      returnValueField - The returnValueField to set.
    • getReturnValueNewName

      public String[] getReturnValueNewName()
      Returns:
      Returns the returnValueNewName.
    • setReturnValueNewName

      public void setReturnValueNewName(String[] returnValueNewName)
      Parameters:
      returnValueNewName - The returnValueNewName to set.
    • getStreamKeyField1

      public String[] getStreamKeyField1()
      Returns:
      Returns the streamKeyField1.
    • setStreamKeyField1

      public void setStreamKeyField1(String[] streamKeyField1)
      Parameters:
      streamKeyField1 - The streamKeyField1 to set.
    • getStreamKeyField2

      public String[] getStreamKeyField2()
      Returns:
      Returns the streamKeyField2.
    • setStreamKeyField2

      public void setStreamKeyField2(String[] streamKeyField2)
      Parameters:
      streamKeyField2 - The streamKeyField2 to set.
    • getTableKeyField

      public String[] getTableKeyField()
      Returns:
      Returns the tableKeyField.
    • setTableKeyField

      public void setTableKeyField(String[] tableKeyField)
      Parameters:
      tableKeyField - The tableKeyField to set.
    • getTablename

      public String getTablename()
      Returns:
      Returns the tablename.
    • setTablename

      public void setTablename(String tablename)
      Parameters:
      tablename - The tablename to set.
    • isFailingOnMultipleResults

      public boolean isFailingOnMultipleResults()
      Returns:
      Returns the failOnMultipleResults.
    • setFailingOnMultipleResults

      public void setFailingOnMultipleResults(boolean failOnMultipleResults)
      Parameters:
      failOnMultipleResults - The failOnMultipleResults to set.
    • 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 nrkeys, int nrvalues)
    • 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
    • setDefault

      public void setDefault()
      Description copied from interface: StepMetaInterface
      Set default values
      Specified by:
      setDefault in interface StepMetaInterface
    • getFields

      public void getFields(org.pentaho.di.core.row.RowMetaInterface row, String name, org.pentaho.di.core.row.RowMetaInterface[] info, StepMeta nextStep, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleStepException
      Description copied from class: BaseStepMeta
      Gets the fields.
      Specified by:
      getFields in interface StepMetaInterface
      Overrides:
      getFields in class BaseStepMeta
      Parameters:
      row - the input row meta that is modified in this method to reflect the output row metadata of the step
      name - Name of the step to use as input for the origin field in the values
      info - Fields used as extra lookup information
      nextStep - the next step that is targeted
      space - the space The variable space to use to replace variables
      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
      Throws:
      org.pentaho.di.core.exception.KettleStepException - the kettle step exception
    • 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, 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
    • getTableFields

      public org.pentaho.di.core.row.RowMetaInterface getTableFields()
      Description copied from class: BaseStepMeta
      Gets the table fields.
      Specified by:
      getTableFields in interface StepMetaInterface
      Overrides:
      getTableFields in class BaseStepMeta
      Returns:
      the table 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.
    • analyseImpact

      public void analyseImpact(List<DatabaseImpact> impact, TransMeta transMeta, StepMeta stepinfo, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from class: BaseStepMeta
      Each step must be able to report on the impact it has on a database, table field, etc.
      Specified by:
      analyseImpact in interface StepMetaInterface
      Overrides:
      analyseImpact in class BaseStepMeta
      Parameters:
      impact - The list of impacts @see org.pentaho.di.transMeta.DatabaseImpact
      transMeta - The transformation information
      stepinfo - The step information
      prev - The fields entering this step
      input - The previous step names
      output - The output step names
      info - The fields used as information by this step
      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
    • getUsedDatabaseConnections

      public org.pentaho.di.core.database.DatabaseMeta[] getUsedDatabaseConnections()
      Description copied from class: BaseStepMeta
      This method returns all the database connections that are used by the step.
      Specified by:
      getUsedDatabaseConnections in interface StepMetaInterface
      Overrides:
      getUsedDatabaseConnections in class BaseStepMeta
      Returns:
      an array of database connections meta-data. Return an empty array if no connections are used.
    • isEatingRowOnLookupFailure

      public boolean isEatingRowOnLookupFailure()
      Returns:
      Returns the eatingRowOnLookupFailure.
    • setEatingRowOnLookupFailure

      public void setEatingRowOnLookupFailure(boolean eatingRowOnLookupFailure)
      Parameters:
      eatingRowOnLookupFailure - The eatingRowOnLookupFailure to set.
    • getSchemaName

      public String getSchemaName()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the schema name for this step.
      Specified by:
      getSchemaName in interface ProvidesDatabaseConnectionInformation
      Returns:
      the schemaName
    • getMissingDatabaseConnectionInformationMessage

      public String getMissingDatabaseConnectionInformationMessage()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Provides a way for this object to return a custom message when database connection information is incomplete or missing. If this returns null a default message will be displayed for missing information.
      Specified by:
      getMissingDatabaseConnectionInformationMessage in interface ProvidesDatabaseConnectionInformation
      Returns:
      A friendly message that describes that database connection information is missing and, potentially, why.
    • setSchemaName

      public void setSchemaName(String schemaName)
      Parameters:
      schemaName - the schemaName to set
    • supportsErrorHandling

      public boolean supportsErrorHandling()
      Specified by:
      supportsErrorHandling in interface StepMetaInterface
      Overrides:
      supportsErrorHandling in class BaseStepMeta
      Returns:
      true if this step supports error "reporting" on rows: the ability to send rows to a certain target step.
    • isLoadingAllDataInCache

      public boolean isLoadingAllDataInCache()
      Returns:
      the loadingAllDataInCache
    • setLoadingAllDataInCache

      public void setLoadingAllDataInCache(boolean loadingAllDataInCache)
      Parameters:
      loadingAllDataInCache - the loadingAllDataInCache to set
    • getRowMeta

      public org.pentaho.di.core.row.RowMeta getRowMeta(StepDataInterface stepData)
      Specified by:
      getRowMeta in interface ProvidesModelerMeta
    • getDatabaseFields

      public List<String> getDatabaseFields()
      Specified by:
      getDatabaseFields in interface ProvidesModelerMeta
    • getStreamFields

      public List<String> getStreamFields()
      Specified by:
      getStreamFields in interface ProvidesModelerMeta