01: package com.jamonapi;
02:
03: /**
04: * The basic Monitor interface used by all of the Timing related Monitors. Note I did not use an interface because
05: * start() has package access. Due to multithreading issues I didn't want developers to be able to execute the Monitor's
06: * start() method however it did want to ensure that the method was provided.
07: */
08:
09: public abstract class Monitor implements MinimalMonitor {
10: /** Start the monitor. **/
11: abstract Monitor start();
12:
13: /** Stop the montior **/
14: abstract public Monitor stop();
15:
16: /** Is this a primary Monitor. See www.jamonapi.com for an explanation of primary monitors **/
17: abstract public boolean isPrimary();
18:
19: /** Indicate that this a primary Monitor. See www.jamonapi.com for an explanation of primary monitors **/
20: abstract public void setPrimary(boolean primary);
21: }
|