// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.gui.progress; import java.awt.Component; import org.openstreetmap.josm.Main; /** * A singleton progress monitor that does nothing. * @since 1811 */ public final class NullProgressMonitor implements ProgressMonitor { /** The unique instance */ public static final ProgressMonitor INSTANCE = new NullProgressMonitor(); private NullProgressMonitor() { // Do nothing } @Override public void addCancelListener(CancelListener listener) { // Do nothing } @Override public void beginTask(String title) { if (Main.isDebugEnabled()) { Main.debug(title); } } @Override public void beginTask(String title, int ticks) { if (Main.isDebugEnabled()) { Main.debug(title); } } @Override public void cancel() { // Do nothing } @Override public ProgressMonitor createSubTaskMonitor(int ticks, boolean internal) { return INSTANCE; } @Override public void finishTask() { // Do nothing } @Override public int getTicks() { return 0; } @Override public void indeterminateSubTask(String title) { if (Main.isDebugEnabled()) { Main.debug(title); } } @Override public void invalidate() { // Do nothing } @Override public boolean isCanceled() { return false; } @Override public void removeCancelListener(CancelListener listener) { // Do nothing } @Override public void setCustomText(String text) { // Do nothing } @Override public void setExtraText(String text) { // Do nothing } @Override public void appendLogMessage(String message) { // Do nothing } @Override public void setTicks(int ticks) { // Do nothing } @Override public void setTicksCount(int ticks) { // Do nothing } @Override public void subTask(String title) { if (Main.isDebugEnabled()) { Main.debug(title); } } @Override public void worked(int ticks) { // Do nothing } @Override public int getTicksCount() { return 0; } @Override public void setProgressTaskId(ProgressTaskId taskId) { // Do nothing } @Override public ProgressTaskId getProgressTaskId() { return null; } @Override public Component getWindowParent() { return Main.parent; } }