/* * This is part of Geomajas, a GIS framework, http://www.geomajas.org/. * * Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium. * * The program is available in open source according to the GNU Affero * General Public License. All contributions in this program are covered * by the Geomajas Contributors License Agreement. For full licensing * details, see LICENSE.txt in the project root. */ package org.geomajas.gwt.client.map.feature.operation; import org.geomajas.gwt.client.map.feature.Feature; /** * Editing features in the GWT client, goes trough a series of operations on those features. This is the general * interface that defines such operations. Not only should implementing classes have an execution function to operate on * a feature, it must always be possible to undo the changes made to a feature. * * @author Pieter De Graef */ public interface FeatureOperation { /** * General execution function of a single operation on a feature. * * @param feature * The feature on which to operate. */ void execute(Feature feature); /** * Every feature operation should be able to undo the changes it has made to a feature. This method does just that. * * @param feature * The feature on which to operate. */ void undo(Feature feature); }