Package PamguardMVC

Interface PamObserver

All Known Implementing Classes:
AcquireNmeaData, AcquisitionProcess, AirgunProcess, AlarmProcess, AmpProcess, AngleListener, AngleProcess, ArrayAccelProcess, ArrayManager, ArraySensorProcess, AzigramProcess, BackupProcess, BasicPeakDetector, BeamFormerBaseProcess, BeamFormerProcess, BeamFormLocProcess, BeamformProcess, BearingProcess, BetterPeakDetector, BFDetectionMonitor, BinaryClickProcess, BinaryStoreProcess, CBLocaliserProcess, CepstrumProcess, ClassifierHistoryWindow, ClickAlarmManager, ClickBTDisplay, ClickDetector, ClickSidePanel, ClickSpectrum, ClickTrainDetector, ClickTrainProcess, ClickTrigger, ClickWaveform, ClipProcess, ClipProcess.ClipBlockProcess, CPODProcess, CTClassificationProcess, CTLocalisationProcess, DataCounter, DbHtProcess, DBProcess, DecimatorProcess, DecimatorProcessW, DepthProcess, DepthSidePanel, DetectionGroupProcess, DetectionMonitor, DialogMapPanel3D, DifarProcess, DLClassifyProcess, EnergySumProcess, EnvelopeProcess, FFTDataOrganiser.FFTObservable, FFTPluginPanelProvider.FFTPluginPanel, FilterProcess, FormsAlertSidePanel, FormsProcess, GPLProcess, GPSDataSystem, Group3DProcess, HydrophoneProcess, IDI_Display, IMUListener, IMUProcess, IshDetFnProcess, IshDetSave, IshLocHyperbProcess, IshLocPairProcess, IshLocProcess, IshPeakProcess, KernelSmoothingProcess, LevelMeterSidePanel, LikelihoodFFTProcess, LinearAverageSpectraProcess, ListeningProcess, LtsaProcess, MapPanel, MapProcess, MarkGroupProcess, MarkProcess, MatchFiltProcess, MatchFiltProcess2, MTProcess, NetworkSendProcess, NoiseBandProcess, NoiseProcess, NormalizerProcess, OfflineFileProcess, OfflineProcessingProcess, OneBandProcess, OneBandPulseProcess, PamBlockProcess, PamFFTProcess, PamInstantProcess, PamObserverAdapter, PamProcess, PamSimpleObserver, PatchPanelProcess, PeakDetector, PlaybackProcess, ProcessAISData, ProcessHeadingData, ProcessIshmaelData, ProcessNmeaData, QAAnalyser, QADataProcess, QAGeneratorProcess, QAMonitorProcess, RadarDisplay, RavenProcess, RawDataDisplay.RawDisplayPanel, RecorderProcess, RoccaProcess, RoccaSidePanel, RoccaWhistleSelect, RockBlockProcess2, RWEProcess, SegmenterProcess, SgramCorrProcess, SimpleMap, SonobuoyManager, SpectralEtiProcess, SpectrogramDisplay, SpectrogramMarkProcess, SpectrogramMedianFilter, SpectrogramNoiseProcess, STAcquisitionProcess, TargetMotionProcess, ThreadedObserver, ThresholdDetectorProcess, TowedArray3DProcess, TrackedClickLocaliser, TrackedGroupProcess, UpdateClockDialog, UserDisplayProcess, UserInputProcess, VetoPluginPanelProvider.VetoPluginPanel, VetoProcess, VRProcess, WhistleClassifierProcess, WhistleDetector, WhistleEventDetector, WhistleLinker, WhistleSidePanel, WhistleToneConnectProcess, WrappedBeamFormerProcess

public interface PamObserver
Author:
Doug Gillespie

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

  • Method Details

    • getRequiredDataHistory

      long getRequiredDataHistory(PamObservable observable, Object arg)
      Parameters:
      arg - optional argument from PamObservable
      o - PamObservable class requiring the data
      Returns:
      time in milliseconds required by data held in PamObservable
    • addData

      void addData(PamObservable observable, PamDataUnit pamDataUnit)
      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
    • updateData

      void updateData(PamObservable observable, PamDataUnit pamDataUnit)
      Informs the PamObserver that existing data have been updated
      Parameters:
      o - Reference to the Observable (a PamDataBlock)
      arg - Reference to the new PamDataUnit
    • removeObservable

      void removeObservable(PamObservable observable)
      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

      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.
    • receiveSourceNotification

      void receiveSourceNotification(int type, Object object)
      Receive a notification from the data source - typically a change in DAQ status. See the constants listed in AcquisitionProcess for potential change types.
      Parameters:
      type - the type of change
      object - generic object added here so that we can include anything in the future