Class StringInsert

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

    public class StringInsert
    extends AbstractStringOperation
    Inserts a user-specified string at a specific position into tokens coming through.
    The actor is most useful when attaching a variable to the 'value' option, which allows the value to change dynamically then.

    Input/output:
    - accepts:
       java.lang.String
       java.lang.String[]
    - generates:
       java.lang.String
       java.lang.String[]


    Valid options are:

    -D <int> (property: debugLevel)
        The greater the number the more additional info the scheme may output to 
        the console (0 = off).
        default: 0
        minimum: 0
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: StringInsert
     
    -annotation <adams.core.base.BaseText> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
     
    -stop-flow-on-error (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
     
    -position <adams.core.Index> (property: position)
        The position where to insert the string; An index is a number starting with 
        1; the following placeholders can be used as well: first, second, third, 
        last_2, last_1, last
        default: last
     
    -after (property: after)
        If enabled, the string is inserted after the position instead of at the 
        position.
     
    -value <java.lang.String> (property: value)
        The value to insert in the string; you can use '\t' for tab, '\n' for line-feed 
        and '\r' for carriage-return.
        default: 
     
    -placeholder (property: valueContainsPlaceholder)
        Set this to true to enable automatic placeholder expansion for the value 
        string.
     
    -variable (property: valueContainsVariable)
        Set this to true to enable automatic variable expansion for the value string.
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Position

        protected Index m_Position
        the position where to insert the string.
      • m_After

        protected boolean m_After
        whether to insert after the position instead of at.
      • m_Value

        protected BaseString m_Value
        the value to insert.
      • m_ValueContainsPlaceholder

        protected boolean m_ValueContainsPlaceholder
        whether the value string contains a placeholder, which needs to be expanded first.
      • m_ValueContainsVariable

        protected boolean m_ValueContainsVariable
        whether the value string contains a variable, which needs to be expanded first.
    • Constructor Detail

      • StringInsert

        public StringInsert()
    • Method Detail

      • setPosition

        public void setPosition​(Index value)
        Sets the position where to insert the string.
        Parameters:
        value - the position
      • getPosition

        public Index getPosition()
        Returns the position where to insert the string.
        Returns:
        the position
      • positionTipText

        public String positionTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAfter

        public void setAfter​(boolean value)
        Sets whether to insert at or after the position.
        Parameters:
        value - true if to add after
      • getAfter

        public boolean getAfter()
        Returns whether to insert at or after the position.
        Returns:
        true if to add after
      • afterTipText

        public String afterTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setValue

        public void setValue​(BaseString value)
        Sets the value to insert.
        Parameters:
        value - the value
      • getValue

        public BaseString getValue()
        Returns the value to insert.
        Returns:
        the value
      • valueTipText

        public String valueTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setValueContainsPlaceholder

        public void setValueContainsPlaceholder​(boolean value)
        Sets whether the value string contains a placeholder which needs to be expanded first.
        Parameters:
        value - true if value string contains a placeholder
      • getValueContainsPlaceholder

        public boolean getValueContainsPlaceholder()
        Returns whether the vaue string contains a placeholder which needs to be expanded first.
        Returns:
        true if value string contains a placeholder
      • valueContainsPlaceholderTipText

        public String valueContainsPlaceholderTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setValueContainsVariable

        public void setValueContainsVariable​(boolean value)
        Sets whether the value string contains a variable which needs to be expanded first.
        Parameters:
        value - true if value string contains a variable
      • getValueContainsVariable

        public boolean getValueContainsVariable()
        Returns whether the value string contains a variable which needs to be expanded first.
        Returns:
        true if value string contains a variable
      • valueContainsVariableTipText

        public String valueContainsVariableTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • process

        protected String process​(String s,
                                 int index)
        Processes the string.
        Specified by:
        process in class AbstractStringOperation
        Parameters:
        s - the string to process
        index - the 0-based index of the string currently being processed
        Returns:
        the processed string or null if nothing produced