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 012/** 013 * Session layer importer. 014 * @since 4668 015 */ 016public interface SessionLayerImporter { 017 018 /** 019 * Load the layer from xml meta-data. 020 * @param elem XML element 021 * @param support support class providing import utilities 022 * @param progressMonitor progress monitor 023 * @return the resulting layer 024 * @throws IOException if any I/O error occurs 025 * @throws IllegalDataException if invalid data is read 026 */ 027 Layer load(Element elem, ImportSupport support, ProgressMonitor progressMonitor) throws IOException, IllegalDataException; 028} 029