001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.io.session; 003 004import java.util.Collection; 005import java.util.Collections; 006 007import javax.swing.JCheckBox; 008 009import org.openstreetmap.josm.gui.layer.Layer; 010 011/** 012 * Abstract superclass of all session layer exporters. 013 * @param <T> Type of exported layer 014 * @since 9455 015 */ 016public abstract class AbstractSessionExporter<T extends Layer> implements SessionLayerExporter { 017 018 protected final T layer; 019 protected final JCheckBox export = new JCheckBox(); 020 021 /** 022 * Constructs a new {@code AbstractSessionExporter}. 023 * @param layer layer to export 024 */ 025 protected AbstractSessionExporter(T layer) { 026 this.layer = layer; 027 } 028 029 @Override 030 public Collection<Layer> getDependencies() { 031 return Collections.emptySet(); 032 } 033 034 @Override 035 public boolean shallExport() { 036 return export.isSelected(); 037 } 038 039 @Override 040 public boolean requiresZip() { 041 return false; 042 } 043}