edu.jhu.ece.iacl.jist.pipeline.parameter
Class ParamMultiOption

java.lang.Object
  extended by edu.jhu.ece.iacl.jist.pipeline.PipePort<T>
      extended by edu.jhu.ece.iacl.jist.pipeline.parameter.ParamModel<java.util.List<java.lang.String>>
          extended by edu.jhu.ece.iacl.jist.pipeline.parameter.ParamMultiOption
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<ParamModel>

public class ParamMultiOption
extends ParamModel<java.util.List<java.lang.String>>

An parameter that allows the user to select more than one option.

Author:
Blake Lucas

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.jhu.ece.iacl.jist.pipeline.PipePort
PipePort.PortListener, PipePort.type
 
Field Summary
protected  java.util.ArrayList<java.lang.String> options
          The options.
protected  java.util.ArrayList<java.lang.Integer> selection
          The selection.
 
Fields inherited from class edu.jhu.ece.iacl.jist.pipeline.parameter.ParamModel
cliTag, description, factory, hidden, label, loadAndSaveOnValidate, mandatory, shortLabel
 
Fields inherited from class edu.jhu.ece.iacl.jist.pipeline.PipePort
connectible, gport, incomingConnectors, listeners, maxIncoming, maxOutgoing, outgoingConnectors, owner, portType, useWire
 
Constructor Summary
ParamMultiOption(java.util.ArrayList<java.lang.String> options)
          Construct a list of possible options.
ParamMultiOption(java.lang.String name)
          Constructor.
ParamMultiOption(java.lang.String[] options)
          Construct a list of possible options.
ParamMultiOption(java.lang.String name, java.util.ArrayList<java.lang.String> options)
          Construct a list of possible options.
ParamMultiOption(java.lang.String name, java.lang.String[] options)
          Construct a list of possible options.
 
Method Summary
 void add(java.lang.String opt)
          Add string option.
 ParamMultiOption clone()
          Clone object.
 int compareTo(ParamModel model)
          Compare the options of one parameter to another to determine which list of options is more restrictive.
 java.lang.String getHumanReadableDataType()
           
 java.util.ArrayList<java.lang.String> getOptions()
          Get list of possible options.
 java.util.ArrayList<java.lang.Integer> getSelection()
          Get selected option index.
 java.util.List<java.lang.String> getValue()
          Get selected option name.
 java.lang.String getXMLValue()
           
 void init()
          Initialized data that could not be deserialized.
 java.lang.String probeDefaultValue()
           
 void setOptions(java.util.ArrayList<java.lang.String> options)
          Sets the options.
 void setSelection(java.util.ArrayList<java.lang.Integer> value)
          Set the selected option.
 void setValue(java.util.List<java.lang.String> value)
          Set list of selected options.
 void setXMLValue(java.lang.String arg)
           
 java.lang.String toString()
          Get description.
 void validate()
          Validate that the selected index corresponds to a possible option.
 
Methods inherited from class edu.jhu.ece.iacl.jist.pipeline.parameter.ParamModel
clean, createMipavParameter, createTreeNode, dispose, equals, getCliTag, getDescription, getFactory, getInputView, getLabel, getName, getOutputView, getShortLabel, getView, hide, importMipavParameter, importParameter, isCompatible, isConnectible, isHidden, isMandatory, loadResources, loadResources, read, read, replacePath, saveResources, setCliTag, setDescription, setFactory, setHidden, setInputView, setLabel, setLoadAndSaveOnValidate, setMandatory, setName, setOutputView, setShortLabel, toXML, write, write, writeAndFreeNow
 
Methods inherited from class edu.jhu.ece.iacl.jist.pipeline.PipePort
addListener, disconnect, disconnect, disconnect, disconnect, getGraphPort, getIncomingConnector, getIncomingConnectors, getIncomingPorts, getListeners, getMaxIncoming, getMaxOutgoing, getOutgoingConnector, getOutgoingConnectors, getOutgoingPorts, getOwner, getPortType, isConnected, isConnectedTo, isInputPort, isOutputPort, notifyListenersOfConnection, notifyListenersOfDisconnection, removeAllListeners, removeListener, setConnectable, setGraphPort, setMaxIncoming, setMaxOutgoing, setOwner, setPortType, setUseConnector, usingConnector
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

options

protected java.util.ArrayList<java.lang.String> options
The options.


selection

protected java.util.ArrayList<java.lang.Integer> selection
The selection.

Constructor Detail

ParamMultiOption

public ParamMultiOption(java.util.ArrayList<java.lang.String> options)
Construct a list of possible options.

Parameters:
options - the options

ParamMultiOption

public ParamMultiOption(java.lang.String name)
Constructor.

Parameters:
name - parameter name

ParamMultiOption

public ParamMultiOption(java.lang.String name,
                        java.util.ArrayList<java.lang.String> options)
Construct a list of possible options.

Parameters:
name - parameter name
options - the options

ParamMultiOption

public ParamMultiOption(java.lang.String name,
                        java.lang.String[] options)
Construct a list of possible options.

Parameters:
name - parameter name
options - the options

ParamMultiOption

public ParamMultiOption(java.lang.String[] options)
Construct a list of possible options.

Parameters:
options - the options
Method Detail

add

public void add(java.lang.String opt)
Add string option.

Parameters:
opt - selected option

clone

public ParamMultiOption clone()
Clone object.

Specified by:
clone in class ParamModel<java.util.List<java.lang.String>>
Returns:
the param multi option

compareTo

public int compareTo(ParamModel model)
Compare the options of one parameter to another to determine which list of options is more restrictive.

Specified by:
compareTo in interface java.lang.Comparable<ParamModel>
Overrides:
compareTo in class ParamModel<java.util.List<java.lang.String>>
Parameters:
model - the model
Returns:
the int

getOptions

public java.util.ArrayList<java.lang.String> getOptions()
Get list of possible options.

Returns:
the options

getSelection

public java.util.ArrayList<java.lang.Integer> getSelection()
Get selected option index.

Returns:
the selection

getValue

public java.util.List<java.lang.String> getValue()
Get selected option name.

Specified by:
getValue in class ParamModel<java.util.List<java.lang.String>>
Returns:
selected option string

init

public void init()
Description copied from class: PipePort
Initialized data that could not be deserialized.

Specified by:
init in class PipePort<java.util.List<java.lang.String>>

setOptions

public void setOptions(java.util.ArrayList<java.lang.String> options)
Sets the options.

Parameters:
options - the new options

setSelection

public void setSelection(java.util.ArrayList<java.lang.Integer> value)
                  throws InvalidParameterValueException
Set the selected option. This method will accept the string representation of the option or an integer index into the option array.

Parameters:
value - parameter value
Throws:
InvalidParameterValueException - the invalid parameter value exception

setValue

public void setValue(java.util.List<java.lang.String> value)
              throws InvalidParameterValueException
Set list of selected options.

Specified by:
setValue in class ParamModel<java.util.List<java.lang.String>>
Parameters:
value - the value
Throws:
InvalidParameterValueException - the invalid parameter value exception

toString

public java.lang.String toString()
Get description.

Specified by:
toString in class ParamModel<java.util.List<java.lang.String>>
Returns:
the string

validate

public void validate()
              throws InvalidParameterException
Validate that the selected index corresponds to a possible option.

Specified by:
validate in class ParamModel<java.util.List<java.lang.String>>
Throws:
InvalidParameterException - parameter does not meet value restriction

getHumanReadableDataType

public java.lang.String getHumanReadableDataType()
Specified by:
getHumanReadableDataType in class ParamModel<java.util.List<java.lang.String>>

getXMLValue

public java.lang.String getXMLValue()
Specified by:
getXMLValue in class ParamModel<java.util.List<java.lang.String>>

setXMLValue

public void setXMLValue(java.lang.String arg)
Specified by:
setXMLValue in class ParamModel<java.util.List<java.lang.String>>

probeDefaultValue

public java.lang.String probeDefaultValue()
Specified by:
probeDefaultValue in class ParamModel<java.util.List<java.lang.String>>