Interface ManagedParameters

All Known Implementing Classes:
AcquisitionParameters, AcquisitionSettings, AirgunParameters, AISParameters, AISPositionReport, AISStaticData, AlarmParameters, AlarmSerialSettings, AlarmUDPParams, AmplitudeChi2Params, AmpParameters, AnalogDeviceParams, AnalogInputParams, AnalogRangeData, AngleLoggingParameters, AngleParameters, AngleVeto, AngleVetoParameters, AnnotationChoices, AnnotationOptions, ArrayAccelParams, ArrayParameters, ArraySensorParams, AverageSubtractionParameters, AzigramParameters, BackupSettings, BasicClickIdParameters, BasicFreqDomParams, BatchTrainingParams, BeamAlgorithmParams, BeamFormerParams, BeamformParameters, BeamOGramPlotParams, BearingAlgorithmParams, BearingChi2VarParams, BearingClassifierParams, BearingLocaliserParams, BFLocaliserParams, BinaryFooter, BinaryHeader, BinaryOfflineDataMapPoint, BinaryStoreSettings, BrainBoxParams, BTDisplayParameters, BuoyStatusData, BuoyStatusValue, CalibrationData, CBLocaliserSettngs, CepstrumParams, Chi2ThresholdParams, CircularMovementParams, ClickAlarm, ClickAlarmParameters, ClickBinaryModuleFooter, ClickBinaryModuleHeader, ClickDisplayManagerParameters2, ClickDisplayParams, ClickLocParams, ClickParameters, ClickRecorderTriggerData, ClickSpectrumParams, ClickSpectrumTemplateParams, ClickTrainDataSelect2Params, ClickTrainIdParams, ClickTrainParams, ClickTrainSelectParameters, ClickTypeCommonParams, ClickTypeParams, ClipDisplayParameters, ClipGenSetting, ClipSettings, ColourArray, Complex, CompoundParams, ConcatenatedSpectParams, ConfigurationDialogSettings, ControlDataSelParams, Coordinate3d, CorrelationChi2Params, CPODDataGram, CPODDataMapPoint, CPODDatSelectorParams, CPODParams, CTClassifierParams, CTLocParams, CTSelectParams, CustomSymbol, D3DataMapPoint, DatabaseBackupSettings, Datagram, DatagramDataPoint, DatagramSettings, DataKeeperSettings, DataListInfo, DataMapParameters, DataSelectorSettings, DataSelectParams, DbHtAlarmParameters, DbHtDisplayParams, DbHtParameters, DbHtSummaryParams, DBOfflineDataMapPoint, DBParameters, DecimatorParams, DefaultTemplates, DelayMeasurementParams, DepthParameters, DetectionGrouperParams, DetectionGroupSettings, DetectionPlotParams, DifarParameters, DifarParameters.DifarTriggerParams, DifarParameters.SpeciesParams, DifarSelectParameters, DisplayProviderParameters, DLDataSelectorParams, DLPredDisplayParams, DLPredictionFilterParams, DoubleValueParams, EffortParams, EmulatorParams, EnergySumParams, EnvelopeParams, EnvelopeParams, FFTDataDisplayOptions, FFTFilterParams, FFTParameters, FFTPlotParams, FFTPlotSettings, FileBackupSettings, FileDataMapPoint, FileInputParameters, FileLocation, FilterParameters_2, FilterParams, FluxgateWorldParameters, FolderInputParameters, FormDataSelParams, FormPlotOptions, FormSettings, FormsSelectorParams, FragmentClassifierParams, GenericTOADSourceParams, GlobalMediumParams, GlobalTimeParameters, GPLParameters, GpsData, GPSOriginSettings, GPSParameters, GraphParameters, GreenridgeParams, GridbaseParameters, GridMovementParams, Group3DDataSelectParams, Group3DParams, GroupedSourceParameters, GuardBand, GuiFrameSettings, Hydrophone, HydrophoneLocator, HyperbolicParams, HyperbolicParams, IDI_DisplayParams, IDIChi2Params, IDIClassifierParams, IntValueParams, IshDetParams, IshDisplayParams, JamieEchoParams, KernelSmoothingParameters, LandmarkData, LandmarkDatas, LatLong, LatLongTime, LevelMeterParams, LikelihoodDetectionParameters, LikelihoodFFTParameters, LookupDataSelParams, LookupItem, LookupList, LtsaModuleHeader, LtsaParameters, ManagedSymbolData, MapDetectionData, MapDetectionsParameters, MapGrouperSettings, MapParameters, MarkDataSelectorParams, MasterLocator, MatchedTemplateParams, MatchFiltParams, MatchTemplate, MCCDaqParams, MccDepthParameters, MccDepthParameters.MccSensorParameters, MCCParameters, MCMCParams, MCMCParams2, MedianFilterParams, MFPGridSearchParams, MHTChi2Params, MHTKernelParams, MHTParams, MimplexParams, ModuleHeader, ModuleNodeParams, MovingHydrophoneLocator, MTClassifier, MVDRParams, MySQLParameters, NetworkReceiveParams, NetworkSendParams, NIDaqParams, NINetworkDaqParams, NMEAEmulatorParams, NMEAParameters, NMEATimeParameters, NoiseAlarmParameters, NoiseBandSettings, NoiseDisplaySettings, NoiseMeasurementBand, NoiseSettings, NTPTimeParameters, NullBeamParams, OfflineDataMapPoint, OfflineFileMapPoint, OfflineFileParameters, OfflineFileParams, OfflineParameters, OneBandAlarmParameters, OneBandDisplayParams, OneBandParameters, OneBandSummaryParams, OriginSettings, OverlayDataInfo, OverlayMarkDataInfo, PamArray, PamBlockParams, PamControlledUnitSettings, PamModelSettings, PamSymbol, PamVector, PlaybackParameters, PlaySoundParams, PlotParams2D, PPSParameters, Preamplifier, QuickAnnotationParameters, RadarDataInfo, RadarParameters, RawClipParams, RawDataDisplayOptions, RawOrFFTParams, ReceiverReference, RecorderSettings, RecorderTriggerData, RoccaParameters, RWDataSelParams, RWEParameters, ScalarDataParams, SendEmailSettings, SerialPortParameters, SgramCorrParams, SignalBand, SimObject, SimParameters, SimpleChi2VarParams, SimpleEchoParams, SimpleElectricalNoiseParams, SimpleHydrophoneLocator, SmruDaqParameters, SNRAnnotationOptions, SNRAnnotationParameters, SoundCardParameters, SpectrogramMarkParams, SpectrogramNoiseSettings, SpectrogramParameters, SpectrogramParamsFX, SpectrumPlotParams, SpectrumTemplateParams, SphericalGridParams, SQLiteParameters, StandardClassifierParams, StandardFileDateSettings, StandardMHTChi2Params, StaticOriginSettings, StraightHydrophoneLocator, Streamer, StringAnnotationOptions, STToolsParams, SuperDataSelectParams, SweepClassifierParameters, SweepClassifierSet, TargetConfiguration, TaskGroupParams, TDAcousticScrollerParams, TDGraphParametersFX, TDParameters, TDParametersFX, TDScaleInfoData, TemplateClassifierParams, TemplateCorrParams, ThreadingHydrophoneLocator, ThresholdParams, TideOfflineDataMapPoint, TimeDelayParams, TimeDisplayParameters, TimeValueParams, TMAnnotationOptions, TOADBaseParams, TOADBearingParams, TOADGridParams, TOADTimingParams, TrainingContour, TrainingContour, TrainingDataSet, UsedModuleInfo, UserDisplayParameters, UserFormAnnotationOptions, UserFrameParameters, ValueFilterParams, Vessel, VetoParameters, WaveformPlotParams, WhistleBinaryModuleHeader, WhistleClassificationParameters, WhistlePlotParams, WhistleToneParameters, WignerPlotOptions, WignerPlotParams, WMAlarmParameters, WMRecorderTriggerData, WrappedBeamFormParams, WslClsSelectorParams, XMLWriterSettings

public interface ManagedParameters
Interface to add to any configuration settings object which will contain / generate / allow creation of descriptors of what's within that parameter set.

In the simplest case, this should be the method overridden in the class:
        @Override
        public PamParameterSet getParameterSet() {
                PamParameterSet ps = PamParameterSet.autoGenerate(this);
                return ps;
        }
Notes:
  • Any public fields will automatically be included in the list
  • Any private/protected fields will be included IF the have a getter that matches their name exactly, with no extra parameters. Boolean fields need is..., while the rest need get...
    • for field int channelmap, would need a getter getChannelmap(). If the getter is getChannelmap(int selectWhichMap) with the extra parameter, it will not work
    • for field boolean hasLatLong, would need a getter isHasLatLong()
  • transient and static fields are not included
  • if a private/protected field does not have a getter and you want to include it, use this code:
        @Override
        public PamParameterSet getParameterSet() {
                PamParameterSet ps = PamParameterSet.autoGenerate(this);
                try {
                        Field field = this.getClass().getDeclaredField("lastTriggerEnd");
                        ps.put(new PrivatePamParameterData(this, field) {
                                public Object getData() throws IllegalArgumentException, IllegalAccessException {
                                        return lastTriggerEnd;
                                }
                        });
                } catch (NoSuchFieldException | SecurityException e) {
                        e.printStackTrace();
                }
                return ps;
        }
 
  • note that in the above code, you are specifying what gets returned from a getData() call to that class. You can specify whatever you want. If the field were LatLong loc but you were only interested in the latitude, you could write return loc.getLatitude();
  • if the field is a primitive, array, ArrayList, List, Map, Colour or File, PamguardXMLWriter.writeField will write the contents properly (including iterating through an array/List). Other types of classes will just give the class name
  • if you want more information from a class, it needs to implement ManagedParameters as well. For example, the ClipSettings class has this field:
 private ArrayList<ClipGenSetting> clipGenSettings;
 
  • In order for all of the fields in ClipGenSettings to be included in the export, it will also need to extend ManagedParameters
  • Finally, if the class is a superclass for something else, then it's fields will be skipped if the subclass makes the call. See the notes for classes RecorderTriggerData and WMRecorderTriggerData for an example of this.
  • Author:
    dg50
    • Method Summary

      Modifier and Type
      Method
      Description
      Get a set of data that describes all of the parameters in a class
    • Method Details

      • getParameterSet

        PamParameterSet getParameterSet()
        Get a set of data that describes all of the parameters in a class
        Returns:
        description of the parameters in a class.