Class Argument

java.lang.Object
All Implemented Interfaces:
java.io.Serializable, javax.swing.ListModel
Direct Known Subclasses:
DateArgument, FileArgument, NumberArgument, QueryArgument, StringArgument

public abstract class Argument
extends AbstractListBean
A base class for all arguments.

Aside from being a bean this class also provides a ListModel interface on the allowed values for this argument

See Also:
Serialized Form
  • Field Details

    • PROPERTY_VALUE

      public static final java.lang.String PROPERTY_VALUE
      The property name for the argument's raw value.
      See Also:
      Constant Field Values
    • PROPERTY_OPERATOR

      public static final java.lang.String PROPERTY_OPERATOR
      The property name for the argument's current operator.
      See Also:
      Constant Field Values
    • DEFERRED_LIST

      public static final java.util.List<java.lang.Object> DEFERRED_LIST
    • path2LoadedValues

      public static final java.util.HashMap<java.lang.String,​java.util.List<java.lang.Object>> path2LoadedValues
    • path2LoadedValuesHeader

      public static final java.util.HashMap<java.lang.String,​java.lang.String[]> path2LoadedValuesHeader
    • type

      protected final ArgumentType type
    • value

      protected java.lang.Object value
    • defaultValue

      protected final java.lang.Object defaultValue
    • allowedValues

      protected java.util.List<java.lang.Object> allowedValues
  • Constructor Details

    • Argument

      public Argument​(ArgumentType type, ArgumentDescription argDescr, java.lang.Boolean optional, java.lang.Object defaultValue, java.util.List<? extends java.lang.Object> allowedValues, java.net.URI valuesPath, java.util.List<java.lang.String> operators, java.lang.Boolean advanced, java.lang.Integer displayWidth)
      Base constructor for all arguments.

      All extensions of this abstract type are recommended to build via this constructor

      Parameters:
      type - - the type of argument
      argDescr - - the argument description
      optional - - true if this argument is not required, false otherwise
      defaultValue - - the initial value for this argument
      allowedValues - - a list of allowed values for this argument
      operators - - a list of operators supported by this argument
      advanced - - true if argument is advanced, otherwise false. Can be used to determine visibility mode of argument.
    • Argument

      public Argument​(Argument arg)
      Constructor that copies the input argument.
      Parameters:
      arg - the argument to copy
  • Method Details

    • getName

      public java.lang.String getName()
      Get argument name.
      Returns:
      the argument name
    • getDescription

      public java.lang.String getDescription()
      Get argument description.
      Returns:
      the argument description
    • getTooltip

      public java.lang.String getTooltip()
      Get argument tooltip.
      Returns:
      the argument tooltip
    • isOptional

      public boolean isOptional()
      Get if argument is optional.
      Returns:
      true if argument is optional, otherwise false
    • isEmpty

      public boolean isEmpty()
      Get if argument is empty.
      Returns:
      true if argument is empty, otherwise false
    • isAdvanced

      public boolean isAdvanced()
      Get if argument is advanced.
      Returns:
      true if argument is advanced, otherwise false
    • getDisplayWidth

      public java.lang.Integer getDisplayWidth()
      Get the display width for argument.
      Returns:
      the display width for argument
    • setDisplayWidth

      public void setDisplayWidth​(java.lang.Integer displayWidth)
      Set the display width for argument.
      Parameters:
      displayWidth - the display width to set
    • getDisplayName

      public java.lang.String getDisplayName()
      Get the name to display for argument.
      Returns:
      display name
    • getType

      public ArgumentType getType()
    • getValuesPath

      public java.lang.String getValuesPath()
    • getDefaultValue

      public java.lang.Object getDefaultValue()
    • checkAllowed

      protected void checkAllowed​(java.lang.Object theValue)
    • setValue

      public void setValue​(java.lang.Object value, boolean checkCommaSeparatedValues)
    • getValue

      public java.lang.Object getValue()
    • setValue

      public void setValue​(java.lang.Object value)
    • getOperator

      public java.lang.String getOperator()
    • setOperator

      public void setOperator​(java.lang.String operator)
    • getOperators

      public java.util.List<java.lang.String> getOperators()
      Returns:
      a list of available operators
    • getElementAt

      public java.lang.Object getElementAt​(int index)
    • getSize

      public int getSize()
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • hasDeferredValues

      public boolean hasDeferredValues()
    • deferredValuesLoaded

      public boolean deferredValuesLoaded()
    • getValuesHeader

      public java.lang.String[] getValuesHeader()
      Get the values header.
      Returns:
      the values header
    • loadDeferredValues

      public void loadDeferredValues​(boolean checkForHeader, java.util.function.Function<java.lang.String,​java.io.BufferedReader> fileResolver) throws java.io.IOException
      Possibly long running, should not be called on the EDT.
      Throws:
      java.io.IOException
    • parseValue

      protected java.lang.Object parseValue​(java.lang.String val)
    • copyArgument

      public abstract Argument copyArgument()
      Make a copy of the argument.
      Returns:
      the argument copy