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        Logging.debug(title);
060    }
061
062    @Override
063    public void invalidate() {
064        // Do nothing
065    }
066
067    @Override
068    public boolean isCanceled() {
069        return false;
070    }
071
072    @Override
073    public void removeCancelListener(CancelListener listener) {
074        // Do nothing
075    }
076
077    @Override
078    public void setCustomText(String text) {
079        // Do nothing
080    }
081
082    @Override
083    public void setExtraText(String text) {
084        // Do nothing
085    }
086
087    @Override
088    public void appendLogMessage(String message) {
089        // Do nothing
090    }
091
092    @Override
093    public void setTicks(int ticks) {
094        // Do nothing
095    }
096
097    @Override
098    public void setTicksCount(int ticks) {
099        // Do nothing
100    }
101
102    @Override
103    public void subTask(String title) {
104        Logging.debug(title);
105    }
106
107    @Override
108    public void worked(int ticks) {
109        // Do nothing
110    }
111
112    @Override
113    public int getTicksCount() {
114        return 0;
115    }
116
117    @Override
118    public void setProgressTaskId(ProgressTaskId taskId) {
119        // Do nothing
120    }
121
122    @Override
123    public ProgressTaskId getProgressTaskId() {
124        return null;
125    }
126
127    @Override
128    public Component getWindowParent() {
129        return MainApplication.getMainFrame();
130    }
131}