// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.czechaddress.proposal; import org.openstreetmap.josm.data.osm.OsmPrimitive; /** * Represents a single modification of an {@link OsmPrimitive}. * * This class is intended to be subclassed to provide standard modifications * such as "adding a key-value pair" {@link AddKeyValueAlternation}. * * @author Radomír Černoch radomir.cernoch@gmail.com * @see ProposalContainer * @see AddKeyValueProposal * @see RemoveKeyProposal * @see KeyValueChangeProposal * @see ExtractAddressIntoNodeProposal */ public abstract class Proposal { /** * Applies the stored modification to the given {@link OsmPrimitive}. * @param op the primitive to be altered */ public void apply(OsmPrimitive op) { op.setModified(true); } /** * Provides textual representation of this modification. * * @return the string representation */ @Override public abstract String toString(); }