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