This page last changed on Apr 13, 2005 by jgarnett.
DeleteFeatureCommand.java
/**
 * Deletes a feature from the provided layer.
 *  
 * @author jeichar
 * @since 0.6.0
 * @see AbstractEditCommand
 * @see UndoableCommand
 */
public class DeleteFeatureCommand extends AbstractEditCommand implements
		UndoableCommand {

	Feature feature;

	private Layer sourceLayer;

	protected boolean done;

	/**
	 * Construct <code>DeleteFeatureCommand</code>.
	 */
	public DeleteFeatureCommand(Feature feature, Layer layer) {
		this.feature = feature;
		this.sourceLayer = layer;
	}

	/**
	 * @see net.refractions.udig.project.command.Command#run()
	 */
	public void run() throws Exception {
		sourceLayer.getResource(FeatureStore.class, null).removeFeatures(
				FilterFactory.createFilterFactory().createFidFilter(
						feature.getID()));
		map.getEditManagerInternal().setEditFeature(null, null);
	}

	/**
	 * @see net.refractions.udig.project.command.Command#copy()
	 */
	public Command copy() {
		return new DeleteFeatureCommand(feature, sourceLayer);
	}

	/**
	 * @see net.refractions.udig.project.command.Command#getName()
	 */
	public String getName() {
		return Policy.bind("DeleteFeatureCommand.deleteFeature"); //$NON-NLS-1$
	}

	/**
	 * @see net.refractions.udig.project.command.UndoableCommand#rollback()
	 */
	public void rollback() throws Exception {
		map.getEditManagerInternal().setEditFeature(feature, sourceLayer);
		map.getEditManagerInternal().addFeature(feature, sourceLayer);
	}

}
Document generated by Confluence on Nov 19, 2005 20:03