## org.metaabm.commands
Class MultiValueCommand

    java.lang.Object
      org.eclipse.emf.common.command.AbstractCommand
          org.eclipse.emf.common.command.CompoundCommand
              org.metaabm.commands.MultiValueCommand

All Implemented Interfaces:
  org.eclipse.emf.common.command.Command

Direct Known Subclasses:
  AddMultiValueStateCommand, RemoveMultiValueCommand, RemoveMultiValueStateCommand, SetSinkFunctionCommand, SetSinkLabelCommand

    public class MultiValueCommand

extends org.eclipse.emf.common.command.CompoundCommand

Manages common operations on multi-valued functions.

Author:
  milesparker

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.emf.common.command.AbstractCommand
`org.eclipse.emf.common.command.AbstractCommand.NonDirtying`

Field Summary
`protected org.eclipse.emf.edit.domain.EditingDomain` `domain`
`protected FFunction` `function`
`protected ASink` `sink`

Fields inherited from class org.eclipse.emf.common.command.CompoundCommand
`commandList, LAST_COMMAND_ALL, MERGE_COMMAND_ALL, resultIndex`

Fields inherited from class org.eclipse.emf.common.command.AbstractCommand
`description, isExecutable, isPrepared, label`

Constructor Summary
`MultiValueCommand(org.eclipse.emf.edit.domain.EditingDomain domain, ASink sink, FFunction newFunction)`

Method Summary
`void` `addAttribute(AMultiValue multiValue, java.util.Collection<SStateValue> processedOptions, int paramIndex)`
`protected void` `addAttributes(java.util.List<AInput> inputs, java.util.Collection<SStateValue> processedOptions)`
`void` `addAttributesCross(java.util.List<AInput> inputs, java.util.Collection<SState> states, java.util.Collection<SStateValue> optionsPath)`
`void` `addAttributesSingle(java.util.List<AInput> inputs, java.util.Collection<SState> states, java.util.Collection<SStateValue> optionsPath)`
`protected void` `clearMultiFunction(java.util.List<AInput> inputs)`
`protected void` `clearMultiValues(IValue value)`
`protected void` `createMultiFunction(java.util.List<AInput> inputs)`
`protected void` `createMultiValue(AInput input, int index)`
`protected org.eclipse.emf.common.util.EList<IValue>` `getMultiValues(AInput input)`
`protected void` `removeAttribute(IValue value)`
`void` `removeMultiFunction(java.util.List<AInput> inputs)`
`protected void` `setValueName(AMultiValue value, int index)`

Methods inherited from class org.eclipse.emf.common.command.CompoundCommand
`append, appendAndExecute, appendIfCanExecute, canUndo, dispose, execute, getAffectedObjects, getCommandList, getDescription, getLabel, getMergedAffectedObjectsCollection, getMergedResultCollection, getResult, getResultIndex, isEmpty, prepare, redo, toString, undo, unwrap`

Methods inherited from class org.eclipse.emf.common.command.AbstractCommand
`canExecute, chain, setDescription, setLabel`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### domain

    protected org.eclipse.emf.edit.domain.EditingDomain domain

### sink

    protected ASink sink

### function

    protected FFunction function

Constructor Detail

### MultiValueCommand

    public MultiValueCommand(org.eclipse.emf.edit.domain.EditingDomain domain,
                             ASink sink,
                             FFunction newFunction)

Method Detail

### addAttributesCross

    public void addAttributesCross(java.util.List<AInput> inputs,
                                   java.util.Collection<SState> states,
                                   java.util.Collection<SStateValue> optionsPath)

### addAttributesSingle

    public void addAttributesSingle(java.util.List<AInput> inputs,
                                    java.util.Collection<SState> states,
                                    java.util.Collection<SStateValue> optionsPath)

### addAttributes

    protected void addAttributes(java.util.List<AInput> inputs,
                                 java.util.Collection<SStateValue> processedOptions)

### addAttribute

    public void addAttribute(AMultiValue multiValue,
                             java.util.Collection<SStateValue> processedOptions,
                             int paramIndex)

### getMultiValues

    protected org.eclipse.emf.common.util.EList<IValue> getMultiValues(AInput input)

### removeAttribute

    protected void removeAttribute(IValue value)

### createMultiValue

    protected void createMultiValue(AInput input,
                                    int index)

### clearMultiValues

    protected void clearMultiValues(IValue value)

### clearMultiFunction

    protected void clearMultiFunction(java.util.List<AInput> inputs)

### createMultiFunction

    protected void createMultiFunction(java.util.List<AInput> inputs)

### removeMultiFunction

    public void removeMultiFunction(java.util.List<AInput> inputs)

### setValueName

    protected void setValueName(AMultiValue value,
                                int index)