001    // License: GPL. For details, see LICENSE file.
002    package org.openstreetmap.josm.actions.downloadtasks;
003    
004    import java.util.ArrayList;
005    import java.util.List;
006    
007    public abstract class AbstractDownloadTask implements DownloadTask {
008        private List<Object> errorMessages;
009        private boolean canceled = false;
010        private boolean failed = false;
011    
012        public AbstractDownloadTask() {
013            errorMessages = new ArrayList<Object>();
014        }
015    
016        public boolean isCanceled() {
017            return canceled;
018        }
019    
020        public void setCanceled(boolean canceled) {
021            this.canceled = canceled;
022        }
023    
024        public boolean isFailed() {
025            return failed;
026        }
027    
028        public void setFailed(boolean failed) {
029            this.failed = failed;
030        }
031    
032        protected void rememberErrorMessage(String message) {
033            errorMessages.add(message);
034        }
035    
036        protected void rememberException(Exception exception) {
037            errorMessages.add(exception);
038        }
039    
040        public List<Object> getErrorObjects() {
041            return errorMessages;
042        }
043    }