001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.correction;
003
004import org.openstreetmap.josm.data.osm.Relation;
005import org.openstreetmap.josm.data.osm.RelationMember;
006
007/**
008 * Represents a change of a single {@link RelationMember} role.
009 * @since 1001
010 */
011public class RoleCorrection implements Correction {
012
013    /** OSM relation */
014    public final Relation relation;
015    /** Relation member index */
016    public final int position;
017    /** Relation member */
018    public final RelationMember member;
019    /** New role */
020    public final String newRole;
021
022    /**
023     * Constructs a new {@code RoleCorrection}.
024     * @param relation OSM relation
025     * @param position relation member index
026     * @param member relation member
027     * @param newRole new role
028     */
029    public RoleCorrection(Relation relation, int position, RelationMember member, String newRole) {
030        this.relation = relation;
031        this.position = position;
032        this.member = member;
033        this.newRole = newRole;
034    }
035}