hudson.node_monitors
Class AbstractNodeMonitorDescriptor<T>

java.lang.Object
  extended by hudson.model.Descriptor<NodeMonitor>
      extended by hudson.node_monitors.AbstractNodeMonitorDescriptor<T>
All Implemented Interfaces:
Saveable
Direct Known Subclasses:
ArchitectureMonitor.DescriptorImpl

public abstract class AbstractNodeMonitorDescriptor<T>
extends Descriptor<NodeMonitor>

Convenient base class for common NodeMonitor implementation where the "monitoring" consists of executing something periodically on every node and taking some action based on its result.

"T" represents the the result of the monitoring.

Author:
Kohsuke Kawaguchi

Nested Class Summary
 
Nested classes/interfaces inherited from class hudson.model.Descriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
 
Field Summary
 
Fields inherited from class hudson.model.Descriptor
clazz
 
Fields inherited from interface hudson.model.Saveable
NOOP
 
Constructor Summary
protected AbstractNodeMonitorDescriptor()
           
protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz)
           
protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz, long interval)
           
protected AbstractNodeMonitorDescriptor(long interval)
           
 
Method Summary
 T get(Computer c)
          Obtains the monitoring result currently available, or null if no data is available.
 boolean isIgnored()
          Is this monitor currently ignored?
protected  boolean markOffline(Computer c)
          Deprecated. as of 1.320 Use markOffline(Computer, OfflineCause) to specify the cause.
protected  boolean markOffline(Computer c, OfflineCause oc)
          Utility method to mark the computer offline for derived classes.
protected  boolean markOnline(Computer c)
          Utility method to mark the computer online for derived classes.
protected abstract  T monitor(Computer c)
          Performs monitoring of the given computer object.
 
Methods inherited from class hudson.model.Descriptor
addHelpFileRedirect, calcAutoCompleteSettings, calcFillSettings, configure, configure, doHelp, find, find, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getDisplayName, getGlobalConfigPage, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractNodeMonitorDescriptor

protected AbstractNodeMonitorDescriptor()

AbstractNodeMonitorDescriptor

protected AbstractNodeMonitorDescriptor(long interval)

AbstractNodeMonitorDescriptor

protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz)

AbstractNodeMonitorDescriptor

protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz,
                                        long interval)
Method Detail

monitor

protected abstract T monitor(Computer c)
                      throws IOException,
                             InterruptedException
Performs monitoring of the given computer object. This method is invoked periodically to perform the monitoring of the computer.

Returns:
Application-specific value that represents the observed monitoring value on the given node. This value will be returned from the get(Computer) method. If null is returned, it will be interpreted as "no observed value." This is convenient way of abandoning the observation on a particular computer, whereas IOException is useful for indicating a hard error that needs to be corrected.
Throws:
IOException
InterruptedException

get

public T get(Computer c)
Obtains the monitoring result currently available, or null if no data is available.

If no data is available, a background task to collect data will be started.


isIgnored

public boolean isIgnored()
Is this monitor currently ignored?


markOnline

protected boolean markOnline(Computer c)
Utility method to mark the computer online for derived classes.

Returns:
true if the node was actually taken online by this act (as opposed to us deciding not to do it, or the computer was already online.)

markOffline

protected boolean markOffline(Computer c,
                              OfflineCause oc)
Utility method to mark the computer offline for derived classes.

Returns:
true if the node was actually taken offline by this act (as opposed to us deciding not to do it, or the computer already marked offline.)

markOffline

protected boolean markOffline(Computer c)
Deprecated. as of 1.320 Use markOffline(Computer, OfflineCause) to specify the cause.



Copyright © 2004-2013. All Rights Reserved.