org.metaabm.commands
Class MultiValueCommand

java.lang.Object
  extended by org.eclipse.emf.common.command.AbstractCommand
      extended by org.eclipse.emf.common.command.CompoundCommand
          extended by 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)