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; 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 Main.parent; 130 } 131}