Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java')
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java41
1 files changed, 36 insertions, 5 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java
index 929afea5bb..0e8fe2140a 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/monitor/Monitor.java
@@ -9,22 +9,38 @@ public abstract class Monitor
{
private static final int UNINITIALIZED = 0;
+ private Monitor parent;
+
+ private int workFromParent;
+
private int totalWork = UNINITIALIZED;
private int work;
private String task;
- public Monitor()
+ public Monitor(Monitor parent, int workFromParent)
+ {
+ this.parent = parent;
+ this.workFromParent = workFromParent;
+ }
+
+ public Monitor getParent()
+ {
+ return parent;
+ }
+
+ public int getWorkFromParent()
{
+ return workFromParent;
}
- public final String getTask()
+ public String getTask()
{
return task;
}
- public final void setTask(String task, int level)
+ public void setTask(String task, int level)
{
this.task = task;
message(task, level);
@@ -68,7 +84,22 @@ public abstract class Monitor
}
}
- public abstract void message(String msg, int level);
+ public void message(String msg, int level)
+ {
+ if (parent != null)
+ {
+ parent.message(msg, level + 1);
+ }
+ else
+ {
+ for (int i = 0; i < level; i++)
+ {
+ System.out.print(" ");
+ }
+
+ System.out.println(msg);
+ }
+ }
- public abstract SubMonitor newSubMonitor(int workFromParent);
+ public abstract Monitor subMonitor(int workFromParent);
} \ No newline at end of file

Back to the top