PamguardMVC
Interface PamObserver

All Known Implementing Classes:
AcquireNmeaData, AcquisitionProcess, AirgunProcess, AmpProcess, AngleProcess, ArrayManager, BasicPeakDetector, BeakedControl.VideoRangeMonitor, BeakedLocationDialog, BeakedProcess, BetterPeakDetector, BinaryStoreProcess, ClassifierHistoryWindow, ClickBTDisplay, ClickDetector, ClickDetector.NewClickMonitor, ClickSidePanel, ClickSpectrogramPlugin.BTDisplayPanel, ClickSpectrum, ClickTrainDetector, ClickTrigger, ClickWaveform, ClipProcess, DataCounter, DBProcess, DecimatorProcess, DepthProcess, DepthSidePanel, EdgeProcess, EnergySumProcess, EventListDialog.EventObserver, FFTPluginPanelProvider.FFTPluginPanel, FilterProcess, IshDetFnProcess, IshDetGraphics.IshDisplayPanel, IshDetSave, IshLocGraphics.IshDisplayPanel, IshLocHyperbProcess, IshLocPairProcess, IshLocProcess, IshPeakProcess, KernelSmoothingProcess, LandmarkControl.LandmarkProcess, LikelihoodFFTProcess, LinearAverageSpectraProcess, ListeningProcess, LogDataObserver, MapPanel, MapProcess, MatchFiltProcess, NoiseProcess, NoiseTabPanel.NoiseObserver, NormalizerProcess, PamFFTProcess, PamProcess, PatchPanelProcess, PeakDetector, PlaybackProcess, ProcessAISData, ProcessHeadingData, ProcessIshmaelData, ProcessNmeaData, RadarDisplay, RawDataDisplay.RawDisplayPanel, RecorderProcess, RoccaProcess, RoccaSidePanel, RoccaWhistleSelect, SgramCorrProcess, SimpleMap, SpectralEtiProcess, SpectrogramDisplay, SpectrogramDisplay.SpectrogramPanel, SpectrogramMarkProcess, SpectrogramMedianFilter, SpectrogramMedianFilter, SpectrogramNoiseProcess, StraightHydrophoneLocator, TerrellaHydrophoneLocator, TerrellaProcess, ThreadedObserver, ThreadingHydrophoneLocator, ThresholdDetectorProcess, TowedArray3DProcess, TrackedClickLocaliser, TriggerFunctionDisplay.TriggerFunctionDisplayPanel, UpdateClockDialog, UserInputProcess, VetoPluginPanelProvider.VetoPluginPanel, VetoProcess, VRControl.AngleListener, VRProcess, WhistleClassifierProcess, WhistleDetector, WhistleEventDetector, WhistleLinker, WhistleSidePanel, WhistleToneConnectProcess, WhitesConnectProcess, WorkshopPluginPanelProvider.WorkshopPluginPanel, WorkshopProcess

public interface PamObserver

Author:
Doug Gillespie

PamObserver is similar to the Java Observer interface but with additional functionality to that the Observered class (generally a PamDataBlock) can query the PamObserver as to which of the PamDataUnits may be deleted.


Method Summary
 java.lang.String getObserverName()
           
 PamObserver getObserverObject()
           
 long getRequiredDataHistory(PamObservable o, java.lang.Object arg)
           
 void masterClockUpdate(long milliSeconds, long sampleNumber)
           
 void noteNewSettings()
           
 void removeObservable(PamObservable o)
          called when an Observable (PamDataBlock) is removed from the system
 void setSampleRate(float sampleRate, boolean notify)
          New sample rate
 void update(PamObservable o, PamDataUnit arg)
          Informs the PamObserver that new data have been added to the Observable class
 

Method Detail

getRequiredDataHistory

long getRequiredDataHistory(PamObservable o,
                            java.lang.Object arg)
Parameters:
o - PamObservable class requiring the data
arg - optional argument from PamObservable
Returns:
time in milliseconds requried by data held in PamObservable

update

void update(PamObservable o,
            PamDataUnit arg)
Informs the PamObserver that new data have been added to the Observable class

Parameters:
o - Reference to the Observable (a PamDataBlock)
arg - Reference to the new PamDataUnit

removeObservable

void removeObservable(PamObservable o)
called when an Observable (PamDataBlock) is removed from the system


setSampleRate

void setSampleRate(float sampleRate,
                   boolean notify)
New sample rate

Parameters:
sampleRate -
notify - Notify other PamObservers and PamObservables in the chain.

noteNewSettings

void noteNewSettings()

getObserverName

java.lang.String getObserverName()

masterClockUpdate

void masterClockUpdate(long milliSeconds,
                       long sampleNumber)

getObserverObject

PamObserver getObserverObject()
Returns:
the actual observer. In most cases concrete classes will just return 'this' in response. The exception is the Threaded observer, which will return the single thread observer.