001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui;
003
004 import org.openstreetmap.josm.data.osm.INode;
005 import org.openstreetmap.josm.data.osm.IRelation;
006 import org.openstreetmap.josm.data.osm.IWay;
007
008 public interface NameFormatterHook {
009
010 /**
011 * Check the relation type name. Return the corrected type name if needed, null otherwise.
012 * @param relation The relation.
013 * @param defaultName The default name generated by core.
014 * @return The corrected type name if needed, null otherwise.
015 */
016 public String checkRelationTypeName(IRelation relation, String defaultName);
017
018 /**
019 * Check the node format. Return the corrected format if needed, null otherwise.
020 * @param node The node.
021 * @param defaultName The default name generated by core.
022 * @return The corrected format if needed, null otherwise.
023 */
024 public String checkFormat(INode node, String defaultName);
025
026 /**
027 * Check the way format. Return the corrected format if needed, null otherwise.
028 * @param way The way.
029 * @param defaultName The default name generated by core.
030 * @return The corrected format if needed, null otherwise.
031 */
032 public String checkFormat(IWay node, String defaultName);
033
034 /**
035 * Check the relation format. Return the corrected format if needed, null otherwise.
036 * @param relation The relation.
037 * @param defaultName The default name generated by core.
038 * @return The corrected format if needed, null otherwise.
039 */
040 public String checkFormat(IRelation node, String defaultName);
041 }