Class StorageCollectionInsert

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

    public class StorageCollectionInsert
    extends AbstractTransformer
    implements StorageUpdater, ClassCrossReference
    Inserts the object passing through to the collection in storage at the specified position.
    After inserting the object successfully, just forwards the object.
    If the collection does not implement the java.util.List interface and the insertion is not at the end, the insertion will fail.

    See also:
    adams.flow.transformer.CollectionInsert

    Input/output:
    - accepts:
       adams.flow.core.Unknown
    - generates:
       adams.flow.core.Unknown


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: StorageCollectionInsert
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default:
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow execution at this level gets stopped in case this
        actor encounters an error; the error gets propagated; useful for critical
        actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console; Note: the enclosing
        actor handler must have this enabled as well.
        default: false
     
    -storageName <adams.flow.control.StorageName> (property: storageName)
        The name of the storage item that represents the collection to update.
        default: storage
     
    -position <adams.core.Index> (property: position)
        The position where to insert the string.
        default: last
        example: An index is a number starting with 1; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -after <boolean> (property: after)
        If enabled, the string is inserted after the position instead of at the
        position.
        default: false
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_StorageName

        protected StorageName m_StorageName
        the name of the collection in storage.
      • 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.
    • Constructor Detail

      • StorageCollectionInsert

        public StorageCollectionInsert()
    • Method Detail

      • setStorageName

        public void setStorageName​(StorageName value)
        Sets the storage item name that represents the collection to update.
        Parameters:
        value - the storage name
      • getStorageName

        public StorageName getStorageName()
        Returns the storage item name that represents the collection to update.
        Returns:
        the storage name
      • storageNameTipText

        public String storageNameTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • 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.
      • isUpdatingStorage

        public boolean isUpdatingStorage()
        Returns whether storage items are being updated.
        Specified by:
        isUpdatingStorage in interface StorageUpdater
        Returns:
        true if storage items are updated
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface InputConsumer
        Returns:
        the Class of objects that can be processed
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Specified by:
        generates in interface OutputProducer
        Returns:
        the Class of the generated tokens
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message