001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.layer.markerlayer; 003 004import java.io.File; 005 006import org.openstreetmap.josm.data.gpx.WayPoint; 007 008/** 009 * This interface has to be implemented by anyone who wants to create markers. 010 * 011 * When reading a gpx file, all implementations of MarkerMaker registered with 012 * the Marker are consecutively called until one returns a Marker object. 013 * 014 * @author Frederik Ramm 015 */ 016public interface MarkerProducers { 017 /** 018 * Returns a Marker object if this implementation wants to create one for the 019 * given input data, or <code>null</code> otherwise. 020 * 021 * @param wp waypoint data 022 * @param relativePath An path to use for constructing relative URLs or 023 * <code>null</code> for no relative URLs 024 * @return A Marker object, or <code>null</code>. 025 */ 026 Marker createMarker(WayPoint wp, File relativePath, MarkerLayer parentLayer, double time, double offset); 027}