/******************************************************************************* | |
* Copyright (c) 2015 Soft-Maint. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* Jonathan Pepin (Soft-Maint) - Bug 474418 - Edit Facet features with Properties View and Commands | |
*******************************************************************************/ | |
package org.eclipse.emf.facet.efacet.edit.core.internal.command; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.emf.ecore.EStructuralFeature; | |
import org.eclipse.emf.edit.domain.EditingDomain; | |
import org.eclipse.emf.facet.efacet.core.IFacetManager; | |
import org.eclipse.emf.facet.efacet.edit.core.FacetCommandException; | |
import org.eclipse.emf.facet.efacet.edit.core.internal.Messages; | |
/** | |
* The set command logically acts upon an owner object to set a particular | |
* feature to a specified value. | |
*/ | |
public class FacetSetCommand extends AbstractFacetCommand { | |
private static final String LABEL = Messages.FacetSetCommand_Label; | |
private static final String DESCRIPTION = Messages.FacetSetCommand_Description; | |
private final Object newValue; | |
private final Object oldValue; | |
public FacetSetCommand(final EObject owner, | |
final EStructuralFeature feature, final Object newValue, | |
final EditingDomain domain, final IFacetManager facetManager) | |
throws FacetCommandException { | |
super(owner, feature, domain, facetManager, LABEL, DESCRIPTION); | |
this.newValue = newValue; | |
this.oldValue = getCurrentValue(); | |
} | |
@Override | |
public void doExecute() { | |
set(this.newValue); | |
} | |
@Override | |
public void doUndo() { | |
set(this.oldValue); | |
} | |
@Override | |
public void doRedo() { | |
set(this.newValue); | |
} | |
} |