001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm.history;
003
004/**
005 * Formats a name for a {@link HistoryOsmPrimitive}.
006 * @since 2686
007 */
008public interface HistoryNameFormatter {
009
010    /**
011     * Formats a name for a {@link HistoryNode}.
012     *
013     * @param node the node
014     * @return the name
015     */
016    String format(HistoryNode node);
017
018    /**
019     * Formats a name for a {@link HistoryWay}.
020     *
021     * @param way the way
022     * @return the name
023     */
024    String format(HistoryWay way);
025
026    /**
027     * Formats a name for a {@link HistoryRelation}.
028     *
029     * @param relation the relation
030     * @return the name
031     */
032    String format(HistoryRelation relation);
033}