org.opennms.netmgt.poller.pollables
Class PollableContainer

java.lang.Object
  extended by org.opennms.netmgt.poller.pollables.PollableElement
      extended by org.opennms.netmgt.poller.pollables.PollableContainer
Direct Known Subclasses:
PollableInterface, PollableNetwork, PollableNode

public abstract class PollableContainer
extends PollableElement

Represents a PollableContainer

Author:
Mathew Brozowski

Nested Class Summary
protected  class PollableContainer.Accumulator<T>
           
protected static interface PollableContainer.Iter
           
protected  class PollableContainer.SimpleIter<T>
           
 
Constructor Summary
PollableContainer(PollableContainer parent, Scope scope)
           
 
Method Summary
protected  void addMember(PollableElement member)
           
protected abstract  Object createMemberKey(PollableElement member)
           
 void delete()
           
 void deleteMember(PollableElement member)
           
protected
<T> T
deriveValueFromMembers(boolean withTreeLock, PollableContainer.SimpleIter<T> iter)
           
protected
<T> T
deriveValueFromMembers(PollableContainer.SimpleIter<T> iter)
           
protected  PollEvent doExtrapolateCause()
           
protected  void doInheritParentalCause()
           
protected  void forEachMember(boolean withTreeLock, PollableContainer.Iter iter)
           
protected  void forEachMember(PollableContainer.Iter iter)
           
protected  PollableElement getMember(Object key)
           
protected  int getMemberCount()
           
protected  Collection<PollableElement> getMembers()
           
 PollStatus getMemberStatus()
           
 PollStatus poll()
           
protected  PollStatus poll(PollableElement elem)
           
 PollStatus pollRemainingMembers(PollableElement member)
           
protected  void processCause(PollEvent cause)
           
 void processMemberStatusChanges(Date date)
           
protected  void processResolution(PollEvent resolvedCause, PollEvent resolution)
           
 void processStatusChange(Date date)
           
 void recalculateStatus()
           
 void removeMember(PollableElement member)
           
 void resetStatusChanged()
           
protected  void resolveAllOutages(PollEvent resolvedCause, PollEvent resolution)
           
 PollableElement selectPollElement()
           
 void visit(PollableVisitor v)
           
protected  void visitMembers(PollableVisitor v)
           
protected  void visitThis(PollableVisitor v)
           
 
Methods inherited from class org.opennms.netmgt.poller.pollables.PollableElement
createDownEvent, createOutage, createUpEvent, doPoll, extrapolateCause, getCause, getContext, getLockRoot, getParent, getScope, getStatus, hasOpenOutage, inheritParentalCause, isDeleted, isStatusChanged, isTreeLockAvailable, obtainTreeLock, processComingUp, processGoingDown, processLingeringCauses, releaseTreeLock, resolveOutage, setCause, setParent, updateStatus, withTreeLock, withTreeLock, withTreeLock, withTreeLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PollableContainer

public PollableContainer(PollableContainer parent,
                         Scope scope)
Method Detail

getMember

protected PollableElement getMember(Object key)
Parameters:
integer -
Returns:

getMemberCount

protected int getMemberCount()

getMembers

protected Collection<PollableElement> getMembers()

createMemberKey

protected abstract Object createMemberKey(PollableElement member)
Parameters:
member -
Returns:

addMember

protected void addMember(PollableElement member)
Parameters:
node -

removeMember

public void removeMember(PollableElement member)

deleteMember

public void deleteMember(PollableElement member)

delete

public void delete()
Overrides:
delete in class PollableElement

visit

public void visit(PollableVisitor v)
Overrides:
visit in class PollableElement

visitThis

protected void visitThis(PollableVisitor v)
Overrides:
visitThis in class PollableElement

visitMembers

protected void visitMembers(PollableVisitor v)
Parameters:
v -

forEachMember

protected void forEachMember(PollableContainer.Iter iter)

deriveValueFromMembers

protected <T> T deriveValueFromMembers(PollableContainer.SimpleIter<T> iter)

deriveValueFromMembers

protected <T> T deriveValueFromMembers(boolean withTreeLock,
                                       PollableContainer.SimpleIter<T> iter)

forEachMember

protected void forEachMember(boolean withTreeLock,
                             PollableContainer.Iter iter)

recalculateStatus

public void recalculateStatus()
Overrides:
recalculateStatus in class PollableElement

resetStatusChanged

public void resetStatusChanged()
Overrides:
resetStatusChanged in class PollableElement

poll

protected PollStatus poll(PollableElement elem)
Overrides:
poll in class PollableElement

pollRemainingMembers

public PollStatus pollRemainingMembers(PollableElement member)
Parameters:
member -
Returns:

getMemberStatus

public PollStatus getMemberStatus()

poll

public PollStatus poll()
Specified by:
poll in class PollableElement

selectPollElement

public PollableElement selectPollElement()
Overrides:
selectPollElement in class PollableElement
Returns:

processStatusChange

public void processStatusChange(Date date)
Overrides:
processStatusChange in class PollableElement

processMemberStatusChanges

public void processMemberStatusChanges(Date date)

processResolution

protected void processResolution(PollEvent resolvedCause,
                                 PollEvent resolution)
Overrides:
processResolution in class PollableElement

processCause

protected void processCause(PollEvent cause)
Overrides:
processCause in class PollableElement

resolveAllOutages

protected void resolveAllOutages(PollEvent resolvedCause,
                                 PollEvent resolution)
Overrides:
resolveAllOutages in class PollableElement

doExtrapolateCause

protected PollEvent doExtrapolateCause()
Overrides:
doExtrapolateCause in class PollableElement

doInheritParentalCause

protected void doInheritParentalCause()
Overrides:
doInheritParentalCause in class PollableElement


Copyright © 2009. All Rights Reserved.