Class Variables

  • All Implemented Interfaces:
    VariableSpace

    public class Variables
    extends Object
    implements VariableSpace
    This class is an implementation of VariableSpace
    Author:
    Sven Boden
    • Constructor Detail

      • Variables

        public Variables()
    • Method Detail

      • copyVariablesFrom

        public void copyVariablesFrom​(VariableSpace space)
        Description copied from interface: VariableSpace
        Copy the variables from another space, without initializing with the defaults. This does not affect any parent relationship.
        Specified by:
        copyVariablesFrom in interface VariableSpace
        Parameters:
        space - the space to copy the variables from.
      • getVariable

        public String getVariable​(String variableName,
                                  String defaultValue)
        Description copied from interface: VariableSpace
        Get the value of a variable with a default in case the variable is not found.
        Specified by:
        getVariable in interface VariableSpace
        Parameters:
        variableName - The name of the variable
        defaultValue - The default value in case the variable could not be found
        Returns:
        the String value of a variable
      • getVariable

        public String getVariable​(String variableName)
        Description copied from interface: VariableSpace
        Get the value of a variable.
        Specified by:
        getVariable in interface VariableSpace
        Parameters:
        variableName - The name of the variable
        Returns:
        the String value of a variable or null in case the variable could not be found.
      • getBooleanValueOfVariable

        public boolean getBooleanValueOfVariable​(String variableName,
                                                 boolean defaultValue)
        Description copied from interface: VariableSpace
        This method returns a boolean for the new variable check boxes. If the variable name is not set or the variable name is not specified, this method simply returns the default value. If not, it convert the variable value to a boolean. "Y", "YES" and "TRUE" all convert to true. (case insensitive)
        Specified by:
        getBooleanValueOfVariable in interface VariableSpace
        Parameters:
        variableName - The variable to look up.
        defaultValue - The default value to return.
        Returns:
        See Also:
        static method ValueMeta.convertStringToBoolean()
      • initializeVariablesFrom

        public void initializeVariablesFrom​(VariableSpace parent)
        Description copied from interface: VariableSpace
        Initialize variable space using the defaults, copy over the variables from the parent (using copyVariablesFrom()), after this the "injected" variables should be inserted (injectVariables()). The parent is set as parent variable space.
        Specified by:
        initializeVariablesFrom in interface VariableSpace
        Parameters:
        parent - the parent to start from, or null if root.
      • listVariables

        public String[] listVariables()
        Description copied from interface: VariableSpace
        List the variables (not the values) that are currently in the variable space.
        Specified by:
        listVariables in interface VariableSpace
        Returns:
        Array of String variable names.
      • setVariable

        public void setVariable​(String variableName,
                                String variableValue)
        Description copied from interface: VariableSpace
        Sets a variable in the Kettle Variables list.
        Specified by:
        setVariable in interface VariableSpace
        Parameters:
        variableName - The name of the variable to set
        variableValue - The value of the variable to set. If the variableValue is null, the variable is cleared from the list.
      • environmentSubstitute

        public String environmentSubstitute​(String aString)
        Description copied from interface: VariableSpace
        Substitute the string using the current variable space.
        Specified by:
        environmentSubstitute in interface VariableSpace
        Parameters:
        aString - The string to substitute.
        Returns:
        The substituted string.
      • environmentSubstitute

        public String environmentSubstitute​(String aString,
                                            boolean escapeHexDelimiter)
        Description copied from interface: VariableSpace
        Substitute the string using the current variable space.
        Specified by:
        environmentSubstitute in interface VariableSpace
        Parameters:
        aString - The string to substitute.
        escapeHexDelimiter - escapes the hex delimiter substitution
        Returns:
        The substituted string.
      • fieldSubstitute

        public String fieldSubstitute​(String aString,
                                      RowMetaInterface rowMeta,
                                      Object[] rowData)
                               throws KettleValueException
        Substitutes field values in aString. Field values are of the form "?{}". The values are retrieved from the specified row. Please note that the getString() method is used to convert to a String, for all values in the row.
        Specified by:
        fieldSubstitute in interface VariableSpace
        Parameters:
        aString - the string on which to apply the substitution.
        rowMeta - The row metadata to use.
        rowData - The row data to use
        Returns:
        the string with the substitution applied.
        Throws:
        KettleValueException - In case there is a String conversion error
      • environmentSubstitute

        public String[] environmentSubstitute​(String[] string)
        Description copied from interface: VariableSpace
        Replaces environment variables in an array of strings. See also: environmentSubstitute(String string)
        Specified by:
        environmentSubstitute in interface VariableSpace
        Parameters:
        string - The array of strings that wants its variables to be replaced.
        Returns:
        the array with the environment variables replaced.
      • shareVariablesWith

        public void shareVariablesWith​(VariableSpace space)
        Description copied from interface: VariableSpace
        Share a variable space from another variable space. This means that the object should take over the space used as argument.
        Specified by:
        shareVariablesWith in interface VariableSpace
        Parameters:
        space - Variable space to be shared.
      • injectVariables

        public void injectVariables​(Map<String,​String> prop)
        Description copied from interface: VariableSpace
        Inject variables. The behaviour should be that the properties object will be stored and at the time the VariableSpace is initialized (or upon calling this method if the space is already initialized). After injecting the link of the properties object should be removed.
        Specified by:
        injectVariables in interface VariableSpace
        Parameters:
        prop - Properties object containing key-value pairs.
      • getADefaultVariableSpace

        public static VariableSpace getADefaultVariableSpace()
        Get a default variable space as a placeholder. Everytime you will get a new instance.
        Returns:
        a default variable space.