001 // License: GPL. Copyright 2007 by Immanuel Scholz and others 002 package org.openstreetmap.josm.gui.layer.markerlayer; 003 004 import java.io.File; 005 006 import 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 <frederik@remote.org> 015 */ 016 public 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 public Marker createMarker(WayPoint wp, File relativePath, MarkerLayer parentLayer, double time, double offset); 027 }