001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.progress;
003
004import java.awt.Component;
005
006import org.openstreetmap.josm.gui.MainApplication;
007import org.openstreetmap.josm.tools.Logging;
008
009/**
010 * A singleton progress monitor that does nothing.
011 * @since 1811
012 */
013public final class NullProgressMonitor implements ProgressMonitor {
014
015    /** The unique instance */
016    public static final ProgressMonitor INSTANCE = new NullProgressMonitor();
017
018    private NullProgressMonitor() {
019        // Do nothing
020    }
021
022    @Override
023    public void addCancelListener(CancelListener listener) {
024        // Do nothing
025    }
026
027    @Override
028    public void beginTask(String title) {
029        Logging.debug(title);
030    }
031
032    @Override
033    public void beginTask(String title, int ticks) {
034        Logging.debug(title);
035    }
036
037    @Override
038    public void cancel() {
039        // Do nothing
040    }
041
042    @Override
043    public ProgressMonitor createSubTaskMonitor(int ticks, boolean internal) {
044        return INSTANCE;
045    }
046
047    @Override
048    public void finishTask() {
049        // Do nothing
050    }
051
052    @Override
053    public int getTicks() {
054        return 0;
055    }
056
057    @Override
058    public void indeterminateSubTask(String title) {
059        if (title != null)
060            Logging.debug(title);
061    }
062
063    @Override
064    public void invalidate() {
065        // Do nothing
066    }
067
068    @Override
069    public boolean isCanceled() {
070        return false;
071    }
072
073    @Override
074    public void removeCancelListener(CancelListener listener) {
075        // Do nothing
076    }
077
078    @Override
079    public void setCustomText(String text) {
080        // Do nothing
081    }
082
083    @Override
084    public void setExtraText(String text) {
085        // Do nothing
086    }
087
088    @Override
089    public void appendLogMessage(String message) {
090        // Do nothing
091    }
092
093    @Override
094    public void setTicks(int ticks) {
095        // Do nothing
096    }
097
098    @Override
099    public void setTicksCount(int ticks) {
100        // Do nothing
101    }
102
103    @Override
104    public void subTask(String title) {
105        Logging.debug(title);
106    }
107
108    @Override
109    public void worked(int ticks) {
110        // Do nothing
111    }
112
113    @Override
114    public int getTicksCount() {
115        return 0;
116    }
117
118    @Override
119    public void setProgressTaskId(ProgressTaskId taskId) {
120        // Do nothing
121    }
122
123    @Override
124    public ProgressTaskId getProgressTaskId() {
125        return null;
126    }
127
128    @Override
129    public Component getWindowParent() {
130        return MainApplication.getMainFrame();
131    }
132}