001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.io.session; 003 004import java.io.IOException; 005 006import org.openstreetmap.josm.gui.layer.Layer; 007import org.openstreetmap.josm.gui.progress.ProgressMonitor; 008import org.openstreetmap.josm.io.IllegalDataException; 009import org.openstreetmap.josm.io.session.SessionReader.ImportSupport; 010import org.w3c.dom.Element; 011 012public interface SessionLayerImporter { 013 014 /** 015 * Load the layer from xml meta-data. 016 * @param elem XML element 017 * @param support support class providing import utilities 018 * @param progressMonitor progress monitor 019 * @return the resulting layer 020 * @throws IOException if any I/O error occurs 021 * @throws IllegalDataException if invalid data is read 022 */ 023 Layer load(Element elem, ImportSupport support, ProgressMonitor progressMonitor) throws IOException, IllegalDataException; 024} 025