|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.common.command.AbstractCommand
org.eclipse.emf.edit.command.AbstractOverrideableCommand
org.eclipse.emf.edit.command.ReplaceCommand
public class ReplaceCommand
The replace command logically acts upon an owner object that has a collection-type feature
in which an object can be replaced by a collection of other objects.
The static create methods delegate command creation to EditingDomain.createCommand
,
which may or may not result in the actual creation of an instance of this class.
The implementation of this class is low-level and EMF specific; it allows an object from a many-valued feature of an owner to be replaced by a collection of other objects. i.e., it is equivalent of the call
int index = ((EList)((EObject)owner).eGet((EStructuralFeature)feature)).indexOf(value); ((EList)((EObject)owner).eGet((EStructuralFeature)feature)).remove(value); ((EList)((EObject)owner).eGet((EStructuralFeature)feature)).addAll(index, (Collection)collection);
It can also be used as an equivalent to the call
int index = ((EList)extent).indexOf(value); ((EList)extent).remove(value); ((EList)extent).addAll(index, (Collection)collection);which is how root objects are replaced in the contents of a resource. Like all the low level commands in this package, the replace command is undoable.
A replace command is an OverrideableCommand
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.eclipse.emf.common.command.AbstractCommand |
---|
AbstractCommand.NonDirtying |
Field Summary | |
---|---|
protected java.util.Collection<?> |
affectedObjects
The is the value returned by Command.getAffectedObjects() . |
protected java.util.Collection<?> |
collection
This is the collection of replacements. |
protected static java.lang.String |
DESCRIPTION
This caches the description. |
protected EStructuralFeature |
feature
This is the feature of the owner object upon the command will act. |
protected int |
index
This is the index at which to reinsert the replaced object during an undo so as to achieve the original list order. |
protected static java.lang.String |
LABEL
This caches the label. |
protected EObject |
owner
This is the owner object upon which the command will act. |
protected EList<java.lang.Object> |
ownerList
This is the list from which the command will replace. |
protected java.lang.Object |
value
This is value that is being replaced. |
Fields inherited from class org.eclipse.emf.edit.command.AbstractOverrideableCommand |
---|
domain, overrideCommand |
Fields inherited from class org.eclipse.emf.common.command.AbstractCommand |
---|
description, isExecutable, isPrepared, label |
Constructor Summary | |
---|---|
ReplaceCommand(EditingDomain domain,
EList<?> list,
java.lang.Object value,
java.util.Collection<?> collection)
This constructs a primitive command to replace a particular value in the specified extent with the given collection of replacements. |
|
ReplaceCommand(EditingDomain domain,
EList<?> list,
java.lang.Object value,
java.lang.Object replacement)
This constructs a primitive command to replace a particular value in the specified extent with the given replacement. |
|
ReplaceCommand(EditingDomain domain,
EObject owner,
EStructuralFeature feature,
java.lang.Object value,
java.util.Collection<?> collection)
This constructs a primitive command to replace a particular value in the specified feature of the owner with the specified collection of replacements. |
|
ReplaceCommand(EditingDomain domain,
EObject owner,
EStructuralFeature feature,
java.lang.Object value,
java.lang.Object replacement)
This constructs a primitive command to replace a particular value in the specified feature of the owner with the specified replacement. |
Method Summary | |
---|---|
static Command |
create(EditingDomain domain,
java.lang.Object value,
java.util.Collection<?> collection)
This creates a command to replace an object with a collection of replacements. |
static Command |
create(EditingDomain domain,
java.lang.Object owner,
java.lang.Object feature,
java.lang.Object value,
java.util.Collection<?> collection)
This creates a command to replace a particular value in the specified feature of the owner with a collection replacements objects. |
void |
doExecute()
This is overrideable command's implementation of execute. |
java.util.Collection<?> |
doGetAffectedObjects()
This is overrideable command's implementation of getAffectedObjects. |
java.util.Collection<?> |
doGetResult()
This is overrideable command's implementation of getResult. |
void |
doRedo()
This is overrideable command's implementation of redo. |
void |
doUndo()
This is overrideable command's implementation of undo. |
java.util.Collection<?> |
getCollection()
This returns the collection of replacement objects. |
EStructuralFeature |
getFeature()
This returns the feature of the owner object upon the command will act. |
int |
getIndex()
This returns the index at which to reinsert the replace objects during an undo so as to achieve the original list order. |
EObject |
getOwner()
This returns the owner object upon which the command will act. |
EList<java.lang.Object> |
getOwnerList()
This returns the list in which the command will replace. |
java.lang.Object |
getValue()
This returns the value being replaced. |
protected boolean |
prepare()
Called at most once in AbstractCommand.canExecute() to give the command an opportunity to ready itself for execution. |
java.lang.String |
toString()
This gives an abbreviated name using this object's own class' name, without package qualification, followed by a space separated list of field:value pairs. |
Methods inherited from class org.eclipse.emf.edit.command.AbstractOverrideableCommand |
---|
canExecute, canUndo, dispose, doCanExecute, doCanUndo, doDispose, doGetChildrenToCopy, doGetDescription, doGetLabel, execute, getAffectedObjects, getChildrenToCopy, getDescription, getDomain, getLabel, getOverride, getOwnerList, getResult, redo, setOverride, undo, updateEMap |
Methods inherited from class org.eclipse.emf.common.command.AbstractCommand |
---|
chain, setDescription, setLabel |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.emf.common.command.Command |
---|
chain |
Field Detail |
---|
protected static final java.lang.String LABEL
protected static final java.lang.String DESCRIPTION
protected EObject owner
EList
.
protected EStructuralFeature feature
EList
.
protected EList<java.lang.Object> ownerList
protected java.lang.Object value
protected java.util.Collection<?> collection
protected int index
protected java.util.Collection<?> affectedObjects
Command.getAffectedObjects()
.
The affected objects are different after an execute than after an undo, so we record it.
Constructor Detail |
---|
public ReplaceCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, java.lang.Object value, java.lang.Object replacement)
public ReplaceCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, java.lang.Object value, java.util.Collection<?> collection)
public ReplaceCommand(EditingDomain domain, EList<?> list, java.lang.Object value, java.lang.Object replacement)
public ReplaceCommand(EditingDomain domain, EList<?> list, java.lang.Object value, java.util.Collection<?> collection)
Method Detail |
---|
public static Command create(EditingDomain domain, java.lang.Object value, java.util.Collection<?> collection)
public static Command create(EditingDomain domain, java.lang.Object owner, java.lang.Object feature, java.lang.Object value, java.util.Collection<?> collection)
public EObject getOwner()
EList
.
public EStructuralFeature getFeature()
EList
.
public EList<java.lang.Object> getOwnerList()
public java.lang.Object getValue()
public java.util.Collection<?> getCollection()
public int getIndex()
protected boolean prepare()
AbstractCommand
AbstractCommand.canExecute()
to give the command an opportunity to ready itself for execution.
The returned value is stored in AbstractCommand.canExecute()
.
In other words, you can override this method to initialize
and to yield a cached value for the all subsequent calls to canExecute.
prepare
in class AbstractCommand
public void doExecute()
OverrideableCommand
doExecute
in interface OverrideableCommand
doExecute
in class AbstractOverrideableCommand
public void doUndo()
OverrideableCommand
doUndo
in interface OverrideableCommand
doUndo
in class AbstractOverrideableCommand
public void doRedo()
OverrideableCommand
doRedo
in interface OverrideableCommand
doRedo
in class AbstractOverrideableCommand
public java.util.Collection<?> doGetResult()
OverrideableCommand
doGetResult
in interface OverrideableCommand
doGetResult
in class AbstractOverrideableCommand
public java.util.Collection<?> doGetAffectedObjects()
OverrideableCommand
doGetAffectedObjects
in interface OverrideableCommand
doGetAffectedObjects
in class AbstractOverrideableCommand
public java.lang.String toString()
toString
in class AbstractOverrideableCommand
|
Copyright 2001-2006 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |