001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.osm.visitor; 003 004import org.openstreetmap.josm.data.osm.Node; 005import org.openstreetmap.josm.data.osm.Relation; 006import org.openstreetmap.josm.data.osm.Way; 007 008/** 009 * Implementation of the visitor pattern for the 3 {@link org.openstreetmap.josm.data.osm.OsmPrimitive} 010 * types {@link Node}, {@link Way} and {@link Relation}. 011 * @since 12810 012 */ 013public interface OsmPrimitiveVisitor { 014 /** 015 * Visiting call for points. 016 * @param n The node to inspect. 017 */ 018 void visit(Node n); 019 020 /** 021 * Visiting call for lines. 022 * @param w The way to inspect. 023 * @since 64 024 */ 025 void visit(Way w); 026 027 /** 028 * Visiting call for relations. 029 * @param r The relation to inspect. 030 * @since 343 031 */ 032 void visit(Relation r); 033 034}