001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.io; 003 004import java.util.Map; 005 006import org.openstreetmap.josm.io.UploadStrategySpecification; 007 008/** 009 * Upload dialog super interface. 010 * @since 9685 011 */ 012public interface IUploadDialog { 013 014 /** 015 * Returns true if the dialog was canceled 016 * 017 * @return true if the dialog was canceled 018 */ 019 boolean isCanceled(); 020 021 /** 022 * Remembers the user input in the preference settings 023 */ 024 void rememberUserInput(); 025 026 /** 027 * Returns the current value for the upload comment 028 * 029 * @return the current value for the upload comment 030 */ 031 String getUploadComment(); 032 033 /** 034 * Returns the current value for the changeset source 035 * 036 * @return the current value for the changeset source 037 */ 038 String getUploadSource(); 039 040 /** 041 * Replies the {@link UploadStrategySpecification} the user entered in the dialog. 042 * 043 * @return the {@link UploadStrategySpecification} the user entered in the dialog. 044 */ 045 UploadStrategySpecification getUploadStrategySpecification(); 046 047 /** 048 * Replies the map with the current tags in the tag editor model. 049 * @param keepEmpty {@code true} to keep empty tags 050 * @return the map with the current tags in the tag editor model. 051 */ 052 Map<String, String> getTags(boolean keepEmpty); 053 054 /** 055 * Handles missing comment. 056 */ 057 void handleMissingComment(); 058 059 /** 060 * Handles missing source. 061 */ 062 void handleMissingSource(); 063 064 /** 065 * Handles illegal chunk size. 066 */ 067 void handleIllegalChunkSize(); 068}