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