SpotBugs Report

Project Information

Project:

SpotBugs version: 4.9.3

Code analyzed:



Metrics

32806 lines of code analyzed, in 804 classes, in 55 packages.

Metric Total Density*
High Priority Warnings 58 1.77
Medium Priority Warnings 564 17.19
Total Warnings 622 18.96

(* Defects per Thousand lines of non-commenting source statements)



Contents

Summary

Warning Type Number
Bad practice Warnings 65
Correctness Warnings 21
Experimental Warnings 1
Internationalization Warnings 19
Malicious code vulnerability Warnings 357
Multithreaded correctness Warnings 24
Performance Warnings 45
Dodgy code Warnings 90
Total 622

Warnings

Click on a warning row to see full context information.

Bad practice Warnings

Code Warning
CT Exception thrown in class org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher at new org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher(Object, ObservationMatcherOp, ObservationMatcherOp[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher at new org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher(ObservationMatcherOp[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.data.validation.CKMagValidator at new org.aavso.tools.vstar.data.validation.CKMagValidator(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase at new org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase(String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.NumberSelectionPane at new org.aavso.tools.vstar.ui.NumberSelectionPane(String, double, double, double, double, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.dialog.DateToJdDialog at new org.aavso.tools.vstar.ui.dialog.DateToJdDialog(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.dialog.LogDialog at new org.aavso.tools.vstar.ui.dialog.LogDialog() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.dialog.StarSelectorDialog at new org.aavso.tools.vstar.ui.dialog.StarSelectorDialog() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.dialog.TextAreaTabs at new org.aavso.tools.vstar.ui.dialog.TextAreaTabs(List, List, int, int, boolean, boolean, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DResultDialog at new org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DResultDialog(String, String, IPeriodAnalysisAlgorithm, PeriodAnalysisCoordinateType[], PeriodAnalysisCoordinateType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.model.list.AbstractModelObservationTableModel at new org.aavso.tools.vstar.ui.model.list.AbstractModelObservationTableModel(List, SeriesType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel at new org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel(Map, ICoordSource, Comparator, ITimeElementEntity, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel at new org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel(Map, ICoordSource, Comparator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel at new org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel(Map, ICoordSource, Comparator, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel at new org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel(Map, PeriodAnalysisCoordinateType, PeriodAnalysisCoordinateType, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.ui.resources.StarGroups at new org.aavso.tools.vstar.ui.resources.StarGroups() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.discrepant.DiscrepantReport at new org.aavso.tools.vstar.util.discrepant.DiscrepantReport(String, String, int, String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.model.Harmonic at new org.aavso.tools.vstar.util.model.Harmonic(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.model.Harmonic at new org.aavso.tools.vstar.util.model.Harmonic(double, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.model.RelativeAmplitudeAndPhaseCreator at new org.aavso.tools.vstar.util.model.RelativeAmplitudeAndPhaseCreator(List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint at new org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint(double[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint at new org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint(PeriodAnalysisCoordinateType[], double[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.util.property.ApplicationProperties at new org.aavso.tools.vstar.util.property.ApplicationProperties(MainFrame) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.vela.VeLaInterpreter at new org.aavso.tools.vstar.vela.VeLaInterpreter() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.vela.VeLaInterpreter at new org.aavso.tools.vstar.vela.VeLaInterpreter(boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
CT Exception thrown in class org.aavso.tools.vstar.vela.VeLaInterpreter at new org.aavso.tools.vstar.vela.VeLaInterpreter(boolean, boolean, List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Co org.aavso.tools.vstar.util.model.Harmonic.compareTo(Harmonic) incorrectly handles double value
DE org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.updateChartProperties() might ignore java.lang.Exception
Dm org.aavso.tools.vstar.ui.ToolBar.retrieveToolBarIcons() invokes System.exit(...), which shuts down the entire virtual machine
Dm org.aavso.tools.vstar.ui.VStar$4.run() invokes System.exit(...), which shuts down the entire virtual machine
Dm org.aavso.tools.vstar.ui.mediator.Mediator.quit() invokes System.exit(...), which shuts down the entire virtual machine
Dm org.aavso.tools.vstar.util.property.ApplicationProperties.update() invokes System.exit(...), which shuts down the entire virtual machine
Dm org.aavso.tools.vstar.vela.VeLaInterpreter$5.apply(List) invokes System.exit(...), which shuts down the entire virtual machine
ES Comparison of String parameter using == or != in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase.getMType(String)
ES Comparison of String parameter using == or != in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase.getMType(String)
ES Comparison of String objects using == or != in org.aavso.tools.vstar.util.TSBase.project()
ES Comparison of String objects using == or != in org.aavso.tools.vstar.util.model.TSPolynomialFitter.polymast(int)
ES Comparison of String objects using == or != in org.aavso.tools.vstar.util.period.dcdft.TSDcDft.multiPeriodicFit(List, PeriodAnalysisDerivedMultiPeriodicModel)
Eq org.aavso.tools.vstar.util.model.Harmonic defines compareTo(Harmonic) and uses Object.equals()
FS Format string should use %n rather than \n in org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.toUncertaintyString()
HE org.aavso.tools.vstar.util.model.PeriodFitParameters defines equals and uses Object.hashCode()
HE org.aavso.tools.vstar.util.period.wwz.WWZStatistic defines equals and uses Object.hashCode()
ME org.aavso.tools.vstar.data.filter.SeriesTypeFieldMatcher$Kind.name field is public and mutable
NP org.aavso.tools.vstar.data.filter.ObservationMatcherOp.toString() may return null
NP org.aavso.tools.vstar.plugin.CustomFilterPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.GeneralToolPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.ModelCreatorPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.ObservationSinkPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.ObservationSourcePluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.ObservationToolPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.ObservationTransformerPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.plugin.period.PeriodAnalysisPluginBase.test() has Boolean return type and returns explicit null
NP org.aavso.tools.vstar.ui.mediator.message.UndoableActionType.toString() may return null
NP org.aavso.tools.vstar.ui.resources.LoginType.toString() may return null
NP org.aavso.tools.vstar.util.AbstractExtremaFinder.toString() may return null
NP org.aavso.tools.vstar.util.period.wwz.WWZCoordinateType.toString() may return null
NP org.aavso.tools.vstar.util.prefs.NumericPrecisionPrefs$Type.toString() may return null
Nm The class name org.aavso.tools.vstar.data.Property$propType doesn't start with an upper case letter
OS org.aavso.tools.vstar.plugin.ob.src.impl.TextFormatObservationSourcePlugin.getObservationRetriever() may fail to close stream
RV Exceptional return value of java.io.File.mkdir() ignored in org.aavso.tools.vstar.ui.VStar.<static initializer for VStar>()
RV Exceptional return value of java.io.File.mkdir() ignored in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.installPlugin(String, PluginManager$Operation)
RV org.aavso.tools.vstar.util.comparator.RankedIndexPairComparator.compare(double[], double[]) negates the return value of Double.compare(double, double)
Se org.aavso.tools.vstar.util.stats.epoch.AlphaOmegaMeanJDEpochStrategy stored into non-transient field PhaseParameterDialog.epochStrategy
Se org.aavso.tools.vstar.util.comparator.DoubleAsStringComparator implements Comparator but not Serializable
Se org.aavso.tools.vstar.util.comparator.DoubleComparator implements Comparator but not Serializable

Correctness Warnings

Code Warning
EC Call to java.util.Locale.equals(String) in org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase.getDescription()
EC Call to java.util.Locale.equals(String) in org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase.getDisplayName()
EC Call to java.util.Locale.equals(String) in org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase$AAVSOPhotometryURLObservationRetriever.getSourceType()
FE Doomed test for equality to NaN in org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane$3.update(PeriodAnalysisSelectionMessage)
FE Doomed test for equality to NaN in org.aavso.tools.vstar.util.model.AbstractModel.fitMetrics()
FL Using floating-point loop counters can lead to unexpected behavior.
IL There is an apparent infinite loop in org.aavso.tools.vstar.vela.VeLaScriptDriver.main(String[])
MF Field ObservationAndMeanPlotModel.modelFunctionSeriesNum masks field in superclass org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel
NP Possible null pointer dereference of dcdft in org.aavso.tools.vstar.scripting.VStarScriptingAPI.dcdftCommon(String, DcDftAnalysisType, double, double, double) on exception path
NP Possible null pointer dereference of obs in org.aavso.tools.vstar.ui.mediator.Mediator.saveSyntheticObsListToFile(Component, ObservationSinkPluginBase, ViewModeType, File, String)
NP Possible null pointer dereference of formats in org.aavso.tools.vstar.util.prefs.NumericPrecisionPrefs.getInputFormatString(int, NumericPrecisionPrefs$Type) on exception path
NP Possible null pointer dereference of formats in org.aavso.tools.vstar.util.prefs.NumericPrecisionPrefs.getOutputFormat(int, NumericPrecisionPrefs$Type) on exception path
NP Possible null pointer dereference of formats in org.aavso.tools.vstar.util.prefs.NumericPrecisionPrefs.getOutputFormatLocaleIndependent(int, NumericPrecisionPrefs$Type) on exception path
NP Possible null pointer dereference of reader in org.aavso.tools.vstar.vela.VeLaScriptDriver.main(String[]) on exception path
RCN Nullcheck of delimiter2suffixes at line 100 of value previously dereferenced in org.aavso.tools.vstar.ui.dialog.DelimitedFieldFileSaveChooser.getSelectedFile()
RpC Repeated conditional test in org.aavso.tools.vstar.ui.ToolBar.retrieveToolBarIcons()
SING Class (org.aavso.tools.vstar.scripting.ScriptRunner) using singleton design pattern has non-private constructor.
SING Class (org.aavso.tools.vstar.ui.dialog.StarSelectorDialog) using singleton design pattern directly or indirectly implements Serializable interface.
SING Class (org.aavso.tools.vstar.ui.dialog.prefs.PreferencesDialog) using singleton design pattern directly or indirectly implements Serializable interface.
SING Class (org.aavso.tools.vstar.ui.resources.StarGroups) using singleton design pattern has non-private constructor.
SING Class (org.aavso.tools.vstar.vela.VeLaStandardLibrary) using singleton design pattern has non-private constructor.

Experimental Warnings

Code Warning
OBL org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginWithSuppliedFileTask.createObservationArtefacts() may fail to clean up java.io.InputStream

Internationalization Warnings

Code Warning
Dm Found reliance on default encoding in org.aavso.tools.vstar.auth.AAVSOPostUserPassXMLAuthenticationSource.authenticate(String, String): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.auth.Auth0JSONAutheticationSource.authenticate(String, String): new java.io.InputStreamReader(InputStream)
Dm Found reliance on default encoding in org.aavso.tools.vstar.input.AbstractObservationRetriever.removeNegativeBytes(String): new String(byte[], int, int)
Dm Found reliance on default encoding in org.aavso.tools.vstar.input.AbstractObservationRetriever.removeNegativeBytes(String): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.plugin.ObservationSourcePluginBase.getTestRetriever(String[], String): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase$AAVSOPhotometryURLObservationRetriever.retrieveAAVSOPhotometryURLObs(InputStream, SeriesType): new java.io.InputStreamReader(InputStream)
Dm Found reliance on default encoding in org.aavso.tools.vstar.plugin.ob.src.impl.TextFormatObservationSourcePlugin.getObservationRetriever(): new java.io.InputStreamReader(InputStream)
Dm Found reliance on default encoding in org.aavso.tools.vstar.plugin.ob.src.impl.TextFormatObservationSourcePlugin.getObservationRetriever(): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.scripting.ScriptRunner.runScript(File): new java.io.FileReader(File)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.dialog.LogDialog.createLogPanel(): new java.io.FileReader(String)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.retrieveRemotePluginInfo(String): new java.io.InputStreamReader(InputStream)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.task.NewStarFromFileTask.createFileBasedObservationArtefacts(File, ObservationSourceAnalyser): new java.io.FileReader(String)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginTask.configure(): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.task.ObsListFileSaveTask.doInBackground(): new java.io.PrintWriter(File)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.vela.VeLaDialog.execute(): java.io.ByteArrayOutputStream.toString()
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.vela.VeLaDialog.execute(): new java.io.PrintStream(OutputStream)
Dm Found reliance on default encoding in org.aavso.tools.vstar.ui.vela.VeLaDialog.showOutput(ByteArrayOutputStream): java.io.ByteArrayOutputStream.toString()
Dm Found reliance on default encoding in org.aavso.tools.vstar.util.discrepant.VSXWebServiceZapperLogger.lodge(DiscrepantReport): String.getBytes()
Dm Found reliance on default encoding in org.aavso.tools.vstar.vela.VeLaScriptDriver.main(String[]): new java.io.FileReader(String)

Malicious code vulnerability Warnings

Code Warning
EI org.aavso.tools.vstar.data.CommentCodes.getCommentcodes() may expose internal representation by returning CommentCodes.commentcodes
EI org.aavso.tools.vstar.data.ValidObservation.getDetails() may expose internal representation by returning ValidObservation.details
EI org.aavso.tools.vstar.data.ValidObservation.getMagnitude() may expose internal representation by returning ValidObservation.magnitude
EI org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher.getMatcherOps() may expose internal representation by returning AbstractObservationFieldMatcher.ops
EI org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher.getObservationSelectionMessage() may expose internal representation by returning AbstractObservationFieldMatcher.observationSelectionMessage
EI org.aavso.tools.vstar.data.filter.ObservationFilter.getMatchers() may expose internal representation by returning ObservationFilter.matchers
EI org.aavso.tools.vstar.data.validation.AAVSOFormatFieldInfoSource.getFieldIndexMap() may expose internal representation by returning AAVSOFormatFieldInfoSource.fieldIndexMap
EI org.aavso.tools.vstar.data.validation.SimpleFormatFieldInfoSource.getFieldIndexMap() may expose internal representation by returning SimpleFormatFieldInfoSource.fieldIndexMap
EI org.aavso.tools.vstar.exception.ObservationValidationWarning.getObservation() may expose internal representation by returning ObservationValidationWarning.ob
EI org.aavso.tools.vstar.input.AbstractObservationRetriever.getInvalidObservations() may expose internal representation by returning AbstractObservationRetriever.invalidObservations
EI org.aavso.tools.vstar.input.AbstractObservationRetriever.getValidObservationCategoryMap() may expose internal representation by returning AbstractObservationRetriever.validObservationCategoryMap
EI org.aavso.tools.vstar.input.AbstractObservationRetriever.getValidObservations() may expose internal representation by returning AbstractObservationRetriever.validObservations
EI org.aavso.tools.vstar.plugin.ObservationSourcePluginBase.getInputStreams() may expose internal representation by returning ObservationSourcePluginBase.inputStreams
EI org.aavso.tools.vstar.plugin.ob.sink.impl.CommonTextFormatSinkPluginBase.getDelimiterNameValuePairs() may expose internal representation by returning CommonTextFormatSinkPluginBase.DELIMS
EI org.aavso.tools.vstar.plugin.ob.sink.impl.CommonTextFormatSinkPluginBase.getDelimiterSuffixValuePairs() may expose internal representation by returning CommonTextFormatSinkPluginBase.SUFFIXES
EI org.aavso.tools.vstar.ui.MainFrame.getStatusPane() may expose internal representation by returning MainFrame.statusPane
EI org.aavso.tools.vstar.ui.NamedComponent.getComponent() may expose internal representation by returning NamedComponent.component
EI org.aavso.tools.vstar.ui.dialog.AdditiveLoadFileOrUrlChooser.getDefaultFileExtensions() may expose internal representation by returning AdditiveLoadFileOrUrlChooser.extensions
EI org.aavso.tools.vstar.ui.dialog.Checkbox.getUIComponent() may expose internal representation by returning Checkbox.checkbox
EI org.aavso.tools.vstar.ui.dialog.NumberFieldBase.getUIComponent() may expose internal representation by returning NumberFieldBase.textField
EI org.aavso.tools.vstar.ui.dialog.SelectableTextField.getUIComponent() may expose internal representation by returning SelectableTextField.textChooser
EI org.aavso.tools.vstar.ui.dialog.StarGroupSelectionPane.getStarGroups() may expose internal representation by returning StarGroupSelectionPane.starGroups
EI org.aavso.tools.vstar.ui.dialog.TextArea.getUIComponent() may expose internal representation by returning TextArea.textArea
EI org.aavso.tools.vstar.ui.dialog.TextAreaTabs.getUIComponent() may expose internal representation by returning TextAreaTabs.tabs
EI org.aavso.tools.vstar.ui.dialog.TextDialog.getTextFields() may expose internal representation by returning TextDialog.textFields
EI org.aavso.tools.vstar.ui.dialog.TextField.getUIComponent() may expose internal representation by returning TextField.textField
EI org.aavso.tools.vstar.ui.dialog.model.HarmonicInputDialog.getHarmonics() may expose internal representation by returning HarmonicInputDialog.harmonicsPerSelectedPeriod
EI org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane.getChart() may expose internal representation by returning PeriodAnalysis2DChartPane.chart
EI org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane.getModel() may expose internal representation by returning PeriodAnalysis2DChartPane.model
EI org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysisDataTablePane.getTable() may expose internal representation by returning PeriodAnalysisDataTablePane.table
EI org.aavso.tools.vstar.ui.dialog.period.refinement.PeriodGatheringPane.getPeriods() may expose internal representation by returning PeriodGatheringPane.periods
EI org.aavso.tools.vstar.ui.dialog.period.wwz.WWZPlotPane.getChart() may expose internal representation by returning WWZPlotPane.chart
EI org.aavso.tools.vstar.ui.dialog.period.wwz.WWZPlotPane.getModel() may expose internal representation by returning WWZPlotPane.model
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManagementOperation.getManager() may expose internal representation by returning PluginManagementOperation.manager
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.getLibs() may expose internal representation by returning PluginManager.libs
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.getLocalDescriptionsToJarName() may expose internal representation by returning PluginManager.localDescriptions
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.getLocalPluginsByJarName() may expose internal representation by returning PluginManager.localPlugins
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.getRemoteDescriptionsToJarName() may expose internal representation by returning PluginManager.remoteDescriptions
EI org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.getRemotePluginsByJarName() may expose internal representation by returning PluginManager.remotePlugins
EI org.aavso.tools.vstar.ui.dialog.prefs.NewGroupWithStarsDialog.getStarList() may expose internal representation by returning NewGroupWithStarsDialog.starList
EI org.aavso.tools.vstar.ui.dialog.prefs.SeriesColorSelectionPane.getChangedSeriesColorMap() may expose internal representation by returning SeriesColorSelectionPane.changedSeriesColorMap
EI org.aavso.tools.vstar.ui.dialog.prefs.SeriesSizeSelectionPane.getChangedSeriesSizeMap() may expose internal representation by returning SeriesSizeSelectionPane.changedSeriesSizeMap
EI org.aavso.tools.vstar.ui.dialog.series.AbstractSeriesVisibilityDialog.getNextPane() may expose internal representation by returning AbstractSeriesVisibilityDialog.nextPane
EI org.aavso.tools.vstar.ui.dialog.series.SeriesVisibilityPane.getVisibilityDeltaMap() may expose internal representation by returning SeriesVisibilityPane.visibilityDeltaMap
EI org.aavso.tools.vstar.ui.mediator.DocumentManager.getStatsInfo() may expose internal representation by returning DocumentManager.statsInfo
EI org.aavso.tools.vstar.ui.mediator.Mediator.getAnalysisTypeChangeNotifier() may expose internal representation by returning Mediator.analysisTypeChangeNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getDiscrepantObservationNotifier() may expose internal representation by returning Mediator.discrepantObservationNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getDocumentManager() may expose internal representation by returning Mediator.documentManager
EI org.aavso.tools.vstar.ui.mediator.Mediator.getExcludedObservationNotifier() may expose internal representation by returning Mediator.excludedObservationNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getFilteredObservationNotifier() may expose internal representation by returning Mediator.filteredObservationNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getHarmonicSearchNotifier() may expose internal representation by returning Mediator.harmonicSearchNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getMeanSourceSeriesChangeNotifier() may expose internal representation by returning Mediator.meanSourceSeriesChangeNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getModelCreationNotifier() may expose internal representation by returning Mediator.modelCreationNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getModelDialog() may expose internal representation by returning Mediator.modelDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getModelSelectionMessage() may expose internal representation by returning Mediator.modelSelectionMessage
EI org.aavso.tools.vstar.ui.mediator.Mediator.getModelSelectionNofitier() may expose internal representation by returning Mediator.modelSelectionNofitier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getMultipleObservationSelectionNotifier() may expose internal representation by returning Mediator.multipleObservationSelectionNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getNewStarMessageList() may expose internal representation by returning Mediator.newStarMessageList
EI org.aavso.tools.vstar.ui.mediator.Mediator.getNewStarNotifier() may expose internal representation by returning Mediator.newStarNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getObsFilterDialog() may expose internal representation by returning Mediator.obsFilterDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getObservationFiltersDialog() may expose internal representation by returning Mediator.observationFiltersDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getObservationSelectionNotifier() may expose internal representation by returning Mediator.observationSelectionNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPanRequestNotifier() may expose internal representation by returning Mediator.panRequestNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPeriodAnalysisRefinementNotifier() may expose internal representation by returning Mediator.periodAnalysisRefinementNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPeriodAnalysisSelectionNotifier() may expose internal representation by returning Mediator.periodAnalysisSelectionNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPeriodChangeNotifier() may expose internal representation by returning Mediator.periodChangeNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPhaseChangeNotifier() may expose internal representation by returning Mediator.phaseChangeNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPhaseDialog() may expose internal representation by returning Mediator.phaseDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPhaseParameterDialog() may expose internal representation by returning Mediator.phaseParameterDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getPhaseSelectionNotifier() may expose internal representation by returning Mediator.phaseSelectionNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getProgressNotifier() may expose internal representation by returning Mediator.progressNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getSeriesCreationNotifier() may expose internal representation by returning Mediator.seriesCreationNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getSeriesVisibilityChangeNotifier() may expose internal representation by returning Mediator.seriesVisibilityChangeNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getStopRequestNotifier() may expose internal representation by returning Mediator.stopRequestNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getUndoActionNotifier() may expose internal representation by returning Mediator.undoActionNotifier
EI org.aavso.tools.vstar.ui.mediator.Mediator.getUndoableActionManager() may expose internal representation by returning Mediator.undoableActionManager
EI org.aavso.tools.vstar.ui.mediator.Mediator.getValidObsList() may expose internal representation by returning Mediator.validObsList
EI org.aavso.tools.vstar.ui.mediator.Mediator.getValidObservationCategoryMap() may expose internal representation by returning Mediator.validObservationCategoryMap
EI org.aavso.tools.vstar.ui.mediator.Mediator.getVelaFileSaveDialog() may expose internal representation by returning Mediator.velaFileSaveDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getVelaXMLsaveDialog() may expose internal representation by returning Mediator.velaXMLsaveDialog
EI org.aavso.tools.vstar.ui.mediator.Mediator.getZoomRequestNotifier() may expose internal representation by returning Mediator.zoomRequestNotifier
EI org.aavso.tools.vstar.ui.mediator.StarInfo.getRetriever() may expose internal representation by returning StarInfo.retriever
EI org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage.getMeansListPane() may expose internal representation by returning AnalysisTypeChangeMessage.meansListPane
EI org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage.getObsAndMeanChartPane() may expose internal representation by returning AnalysisTypeChangeMessage.obsAndMeanChartPane
EI org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage.getObsListPane() may expose internal representation by returning AnalysisTypeChangeMessage.obsListPane
EI org.aavso.tools.vstar.ui.mediator.message.DiscrepantObservationMessage.getObservation() may expose internal representation by returning DiscrepantObservationMessage.observation
EI org.aavso.tools.vstar.ui.mediator.message.ExcludedObservationMessage.getObservations() may expose internal representation by returning ExcludedObservationMessage.observations
EI org.aavso.tools.vstar.ui.mediator.message.FilteredObservationMessage.getFilteredObs() may expose internal representation by returning FilteredObservationMessage.filteredObs
EI org.aavso.tools.vstar.ui.mediator.message.HarmonicSearchResultMessage.getHarmonics() may expose internal representation by returning HarmonicSearchResultMessage.harmonics
EI org.aavso.tools.vstar.ui.mediator.message.MultipleObservationSelectionMessage.getObservations() may expose internal representation by returning MultipleObservationSelectionMessage.observations
EI org.aavso.tools.vstar.ui.mediator.message.NewStarMessage.getLoadDate() may expose internal representation by returning NewStarMessage.loadDate
EI org.aavso.tools.vstar.ui.mediator.message.NewStarMessage.getObsCategoryMap() may expose internal representation by returning NewStarMessage.obsCategoryMap
EI org.aavso.tools.vstar.ui.mediator.message.NewStarMessage.getObservations() may expose internal representation by returning NewStarMessage.obs
EI org.aavso.tools.vstar.ui.mediator.message.NewStarMessage.getStarInfo() may expose internal representation by returning NewStarMessage.starInfo
EI org.aavso.tools.vstar.ui.mediator.message.ObservationSelectionMessage.getObservation() may expose internal representation by returning ObservationSelectionMessage.observation
EI org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage.getNewTopHits() may expose internal representation by returning PeriodAnalysisRefinementMessage.newTopHits
EI org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage.getRefinedData() may expose internal representation by returning PeriodAnalysisRefinementMessage.refinedData
EI org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage.getRefinedTopHits() may expose internal representation by returning PeriodAnalysisRefinementMessage.refinedTopHits
EI org.aavso.tools.vstar.ui.mediator.message.PhaseChangeMessage.getSeriesVisibilityMap() may expose internal representation by returning PhaseChangeMessage.seriesVisibilityMap
EI org.aavso.tools.vstar.ui.mediator.message.PhaseSelectionMessage.getSeriesVisibilityMap() may expose internal representation by returning PhaseSelectionMessage.seriesVisibilityMap
EI org.aavso.tools.vstar.ui.mediator.message.SeriesCreationMessage.getObs() may expose internal representation by returning SeriesCreationMessage.obs
EI org.aavso.tools.vstar.ui.mediator.message.SeriesVisibilityChangeMessage.getVisibleSeries() may expose internal representation by returning SeriesVisibilityChangeMessage.visibleSeries
EI org.aavso.tools.vstar.ui.model.list.AbstractSyntheticObservationTableModel.getObs() may expose internal representation by returning AbstractSyntheticObservationTableModel.obs
EI org.aavso.tools.vstar.ui.model.list.PeriodAnalysisDataTableModel.getData() may expose internal representation by returning PeriodAnalysisDataTableModel.data
EI org.aavso.tools.vstar.ui.model.list.ValidObservationTableModel.getObsInserter() may expose internal representation by returning ValidObservationTableModel.obsInserter
EI org.aavso.tools.vstar.ui.model.list.ValidObservationTableModel.getObsSourceListMap() may expose internal representation by returning ValidObservationTableModel.obsSourceListMap
EI org.aavso.tools.vstar.ui.model.list.ValidObservationTableModel.getObservations() may expose internal representation by returning ValidObservationTableModel.validObservations
EI org.aavso.tools.vstar.ui.model.list.WWZDataTableModel.getStats() may expose internal representation by returning WWZDataTableModel.stats
EI org.aavso.tools.vstar.ui.model.list.WWZDataTableModel.getWwt() may expose internal representation by returning WWZDataTableModel.wwt
EI org.aavso.tools.vstar.ui.model.plot.ContinuousModelFunction.getFit() may expose internal representation by returning ContinuousModelFunction.fit
EI org.aavso.tools.vstar.ui.model.plot.ContinuousModelFunction.getPpModel() may expose internal representation by returning ContinuousModelFunction.ppModel
EI org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel.getMeanObsList() may expose internal representation by returning ObservationAndMeanPlotModel.meanObsList
EI org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel.getMeansChangeNotifier() may expose internal representation by returning ObservationAndMeanPlotModel.meansChangeNotifier
EI org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel.getTimeElementEntity() may expose internal representation by returning ObservationAndMeanPlotModel.timeElementEntity
EI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getSeriesNumToObSrcListMap() may expose internal representation by returning ObservationPlotModel.seriesNumToObSrcListMap
EI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getSeriesNumToSrcTypeMap() may expose internal representation by returning ObservationPlotModel.seriesNumToSrcTypeMap
EI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getSeriesVisibilityMap() may expose internal representation by returning ObservationPlotModel.seriesVisibilityMap
EI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getSeriesWhoseElementsShouldBeJoinedVisually() may expose internal representation by returning ObservationPlotModel.seriesToBeJoinedVisually
EI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getSrcTypeToSeriesNumMap() may expose internal representation by returning ObservationPlotModel.srcTypeToSeriesNumMap
EI org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel.getAnalysisValues() may expose internal representation by returning PeriodAnalysis2DPlotModel.analysisValues
EI org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel.getDomainValues() may expose internal representation by returning PeriodAnalysis2DPlotModel.domainValues
EI org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel.getRangeValues() may expose internal representation by returning PeriodAnalysis2DPlotModel.rangeValues
EI org.aavso.tools.vstar.ui.model.plot.WWZ2DPlotModel.getStats() may expose internal representation by returning WWZ2DPlotModel.stats
EI org.aavso.tools.vstar.ui.pane.list.ObservationListPane.getInvalidDataTable() may expose internal representation by returning ObservationListPane.invalidDataTable
EI org.aavso.tools.vstar.ui.pane.list.ObservationListPane.getLastObSelected() may expose internal representation by returning ObservationListPane.lastObSelected
EI org.aavso.tools.vstar.ui.pane.list.ObservationListPane.getValidDataTable() may expose internal representation by returning ObservationListPane.validDataTable
EI org.aavso.tools.vstar.ui.pane.list.SyntheticObservationListPane.getLastObSelected() may expose internal representation by returning SyntheticObservationListPane.lastObSelected
EI org.aavso.tools.vstar.ui.pane.list.SyntheticObservationListPane.getObsTable() may expose internal representation by returning SyntheticObservationListPane.obsTable
EI org.aavso.tools.vstar.ui.pane.list.SyntheticObservationListPane.getObsTableModel() may expose internal representation by returning SyntheticObservationListPane.obsTableModel
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getChartControlPanel() may expose internal representation by returning AbstractObservationPlotPane.chartControlPanel
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getChartPanel() may expose internal representation by returning AbstractObservationPlotPane.chartPanel
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getLastObSelected() may expose internal representation by returning AbstractObservationPlotPane.lastObSelected
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getLastPointClicked() may expose internal representation by returning AbstractObservationPlotPane.lastPointClicked
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getObsInfo() may expose internal representation by returning AbstractObservationPlotPane.obsInfo
EI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.getRenderer() may expose internal representation by returning AbstractObservationPlotPane.renderer
EI org.aavso.tools.vstar.ui.pane.plot.ObservationAndMeanPlotPane.getObsModel() may expose internal representation by returning AbstractObservationPlotPane.obsModel
EI org.aavso.tools.vstar.ui.pane.plot.PhaseAndMeanPlotPane.getObsModels() may expose internal representation by returning PhaseAndMeanPlotPane.obsAndMeanModels
EI org.aavso.tools.vstar.ui.resources.StarGroups.getNotifier() may expose internal representation by returning StarGroups.notifier
EI org.aavso.tools.vstar.util.TSBase.getObservations() may expose internal representation by returning TSBase.observations
EI org.aavso.tools.vstar.util.model.AbstractModel.getFit() may expose internal representation by returning AbstractModel.fit
EI org.aavso.tools.vstar.util.model.AbstractModel.getFunctionStrings() may expose internal representation by returning AbstractModel.functionStrMap
EI org.aavso.tools.vstar.util.model.AbstractModel.getResiduals() may expose internal representation by returning AbstractModel.residuals
EI org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.getFit() may expose internal representation by returning PeriodAnalysisDerivedMultiPeriodicModel.fit
EI org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.getFunctionStrings() may expose internal representation by returning PeriodAnalysisDerivedMultiPeriodicModel.functionStrMap
EI org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.getHarmonics() may expose internal representation by returning PeriodAnalysisDerivedMultiPeriodicModel.harmonics
EI org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.getParameters() may expose internal representation by returning PeriodAnalysisDerivedMultiPeriodicModel.parameters
EI org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel.getResiduals() may expose internal representation by returning PeriodAnalysisDerivedMultiPeriodicModel.residuals
EI org.aavso.tools.vstar.util.model.RelativeAmplitudeAndPhaseCreator.getHarmonicMap() may expose internal representation by returning RelativeAmplitudeAndPhaseCreator.harmonicMap
EI org.aavso.tools.vstar.util.model.TSPolynomialFitter.getFit() may expose internal representation by returning TSPolynomialFitter.fit
EI org.aavso.tools.vstar.util.model.TSPolynomialFitter.getFunctionStrings() may expose internal representation by returning TSPolynomialFitter.functionStrMap
EI org.aavso.tools.vstar.util.model.TSPolynomialFitter.getResiduals() may expose internal representation by returning TSPolynomialFitter.residuals
EI org.aavso.tools.vstar.util.model.WWZMultiperiodicModel.getFit() may expose internal representation by returning WWZMultiperiodicModel.fit
EI org.aavso.tools.vstar.util.model.WWZMultiperiodicModel.getResiduals() may expose internal representation by returning WWZMultiperiodicModel.residuals
EI org.aavso.tools.vstar.util.notification.ListChangeMessage.getSource() may expose internal representation by returning ListChangeMessage.source
EI org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint.getCoordTypes() may expose internal representation by returning PeriodAnalysisDataPoint.coordTypes
EI org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint.getCoords() may expose internal representation by returning PeriodAnalysisDataPoint.coords
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.getAdjustedJDs() may expose internal representation by returning org.aavso.tools.vstar.util.TSBase.tvec
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.getMags() may expose internal representation by returning org.aavso.tools.vstar.util.TSBase.xvec
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.getResultSeries() may expose internal representation by returning TSDcDft.resultSeries
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.getTopHits() may expose internal representation by returning TSDcDft.topHits
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.getWeights() may expose internal representation by returning org.aavso.tools.vstar.util.TSBase.wvec
EI org.aavso.tools.vstar.util.period.dcdft.TSDcDft.refineByFrequency(List, List, List) may expose internal representation by returning TSDcDft.deltaTopHits
EI org.aavso.tools.vstar.util.period.wwz.WeightedWaveletZTransform.getMaximalStats() may expose internal representation by returning WeightedWaveletZTransform.maximalStats
EI org.aavso.tools.vstar.util.period.wwz.WeightedWaveletZTransform.getObs() may expose internal representation by returning WeightedWaveletZTransform.obs
EI org.aavso.tools.vstar.util.period.wwz.WeightedWaveletZTransform.getStats() may expose internal representation by returning WeightedWaveletZTransform.stats
EI org.aavso.tools.vstar.util.stats.Bin.getMagnitudes() may expose internal representation by returning Bin.magnitudes
EI org.aavso.tools.vstar.util.stats.Bin.getMeanObservation() may expose internal representation by returning Bin.meanObservation
EI org.aavso.tools.vstar.util.stats.BinningResult.getMagnitudeBins() may expose internal representation by returning BinningResult.magnitudeBins
EI org.aavso.tools.vstar.util.stats.BinningResult.getMeanObservations() may expose internal representation by returning BinningResult.meanObservations
EI org.aavso.tools.vstar.vela.AST.getChildren() may expose internal representation by returning AST.children
EI org.aavso.tools.vstar.vela.AST.getOperand() may expose internal representation by returning AST.literal
EI org.aavso.tools.vstar.vela.FunctionExecutor.getParameterTypes() may expose internal representation by returning FunctionExecutor.parameterTypes
EI org.aavso.tools.vstar.vela.Operand.functionVal() may expose internal representation by returning Operand.functionVal
EI org.aavso.tools.vstar.vela.Operand.listVal() may expose internal representation by returning Operand.listVal
EI org.aavso.tools.vstar.vela.VeLaInterpreter.getEnvironments() may expose internal representation by returning VeLaInterpreter.environments
EI org.aavso.tools.vstar.vela.VeLaInterpreter.getStack() may expose internal representation by returning VeLaInterpreter.stack
EI org.aavso.tools.vstar.vela.VeLaScope.getFunctions() may expose internal representation by returning VeLaScope.functions
EI2 org.aavso.tools.vstar.data.ValidObservation.setMagnitude(Magnitude) may expose internal representation by storing an externally mutable object into ValidObservation.magnitude
EI2 new org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher(Object, ObservationMatcherOp, ObservationMatcherOp[]) may expose internal representation by storing an externally mutable object into AbstractObservationFieldMatcher.ops
EI2 org.aavso.tools.vstar.data.filter.AbstractObservationFieldMatcher.setSelectedObservationMessage(ObservationSelectionMessage) may expose internal representation by storing an externally mutable object into AbstractObservationFieldMatcher.observationSelectionMessage
EI2 org.aavso.tools.vstar.data.filter.PhaseFieldMatcher.setSelectedObservationMessage(ObservationSelectionMessage) may expose internal representation by storing an externally mutable object into PhaseFieldMatcher.observationSelectionMessage
EI2 new org.aavso.tools.vstar.data.validation.CommonTextFormatValidator(String, CsvReader, int, int, String, IFieldInfoSource) may expose internal representation by storing an externally mutable object into CommonTextFormatValidator.lineReader
EI2 new org.aavso.tools.vstar.exception.ObservationValidationWarning(String, ValidObservation) may expose internal representation by storing an externally mutable object into ObservationValidationWarning.ob
EI2 new org.aavso.tools.vstar.exception.ObservationValidationWarning(ValidObservation) may expose internal representation by storing an externally mutable object into ObservationValidationWarning.ob
EI2 new org.aavso.tools.vstar.input.database.AuthenticationTask(List, String, String) may expose internal representation by storing an externally mutable object into AuthenticationTask.authenticators
EI2 new org.aavso.tools.vstar.input.text.ObservationFieldSplitter(CsvReader, int, int) may expose internal representation by storing an externally mutable object into ObservationFieldSplitter.lineReader
EI2 new org.aavso.tools.vstar.input.text.ObservationSourceAnalyser(LineNumberReader, String) may expose internal representation by storing an externally mutable object into ObservationSourceAnalyser.obsSource
EI2 new org.aavso.tools.vstar.input.text.TextFormatObservationReader(LineNumberReader, ObservationSourceAnalyser, String) may expose internal representation by storing an externally mutable object into TextFormatObservationReader.reader
EI2 org.aavso.tools.vstar.plugin.ObservationSourcePluginBase.setInputInfo(List, String) may expose internal representation by storing an externally mutable object into ObservationSourcePluginBase.inputStreams
EI2 org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase.setInfo(StarInfo) may expose internal representation by storing an externally mutable object into AIDWebServiceObservationSourcePluginBase.info
EI2 new org.aavso.tools.vstar.plugin.ob.src.impl.NamedNodeMapSequence(NamedNodeMap) may expose internal representation by storing an externally mutable object into NamedNodeMapSequence.nodeMap
EI2 new org.aavso.tools.vstar.ui.MenuBar(IMainUI, UIType) may expose internal representation by storing an externally mutable object into MenuBar.parent
EI2 new org.aavso.tools.vstar.ui.NamedComponent(String, Component) may expose internal representation by storing an externally mutable object into NamedComponent.component
EI2 new org.aavso.tools.vstar.ui.NamedComponent(String, Component, String) may expose internal representation by storing an externally mutable object into NamedComponent.component
EI2 new org.aavso.tools.vstar.ui.ToolBar(MenuBar) may expose internal representation by storing an externally mutable object into ToolBar.menuBar
EI2 new org.aavso.tools.vstar.ui.dialog.FileExtensionFilter(List) may expose internal representation by storing an externally mutable object into FileExtensionFilter.extensions
EI2 new org.aavso.tools.vstar.ui.dialog.ObservationDetailsDialog(ValidObservation) may expose internal representation by storing an externally mutable object into ObservationDetailsDialog.ob
EI2 new org.aavso.tools.vstar.ui.dialog.PlotControlDialog(String, ObservationAndMeanPlotPane, TimeElementsInBinSettingPane, NamedComponent, AnalysisType) may expose internal representation by storing an externally mutable object into PlotControlDialog.plotPane
EI2 new org.aavso.tools.vstar.ui.dialog.PlotControlDialog(String, ObservationAndMeanPlotPane, TimeElementsInBinSettingPane, NamedComponent, AnalysisType) may expose internal representation by storing an externally mutable object into PlotControlDialog.timeElementsInBinSettingPane
EI2 new org.aavso.tools.vstar.ui.dialog.SeriesTypeCreationDialog(List) may expose internal representation by storing an externally mutable object into SeriesTypeCreationDialog.obs
EI2 new org.aavso.tools.vstar.ui.dialog.StarGroupSelectionPane(JTextField, boolean) may expose internal representation by storing an externally mutable object into StarGroupSelectionPane.starField
EI2 new org.aavso.tools.vstar.ui.dialog.model.HarmonicInfoDialog(HarmonicSearchResultMessage, Component) may expose internal representation by storing an externally mutable object into HarmonicInfoDialog.interfaceComponent
EI2 new org.aavso.tools.vstar.ui.dialog.model.HarmonicInfoDialog(HarmonicSearchResultMessage, Component) may expose internal representation by storing an externally mutable object into HarmonicInfoDialog.msg
EI2 new org.aavso.tools.vstar.ui.dialog.model.HarmonicInputDialog(Component, List, Map, String) may expose internal representation by storing an externally mutable object into HarmonicInputDialog.freqToHarmonics
EI2 new org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane(JFreeChart, PeriodAnalysis2DPlotModel, boolean) may expose internal representation by storing an externally mutable object into PeriodAnalysis2DChartPane.chart
EI2 new org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane(JFreeChart, PeriodAnalysis2DPlotModel, boolean) may expose internal representation by storing an externally mutable object into PeriodAnalysis2DChartPane.model
EI2 new org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysisDataTablePane(PeriodAnalysisDataTableModel, IPeriodAnalysisAlgorithm, boolean) may expose internal representation by storing an externally mutable object into PeriodAnalysisDataTablePane.model
EI2 new org.aavso.tools.vstar.ui.dialog.period.wwz.WWZDataTablePane(WWZDataTableModel) may expose internal representation by storing an externally mutable object into WWZDataTablePane.model
EI2 new org.aavso.tools.vstar.ui.dialog.period.wwz.WWZPlotPane(JFreeChart, WWZ2DPlotModel, double, double) may expose internal representation by storing an externally mutable object into WWZPlotPane.chart
EI2 new org.aavso.tools.vstar.ui.dialog.period.wwz.WWZPlotPane(JFreeChart, WWZ2DPlotModel, double, double) may expose internal representation by storing an externally mutable object into WWZPlotPane.model
EI2 new org.aavso.tools.vstar.ui.dialog.period.wwz.WeightedWaveletZTransformResultDialog(String, String, WeightedWaveletZTransform, WWZCoordinateType) may expose internal representation by storing an externally mutable object into WeightedWaveletZTransformResultDialog.wwt
EI2 new org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManagementDialog(PluginManager) may expose internal representation by storing an externally mutable object into PluginManagementDialog.manager
EI2 new org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManagementOperation(PluginManager, String) may expose internal representation by storing an externally mutable object into PluginManagementOperation.manager
EI2 new org.aavso.tools.vstar.ui.dialog.series.AbstractSeriesVisibilityDialog(ISeriesInfoProvider, String, JPanel) may expose internal representation by storing an externally mutable object into AbstractSeriesVisibilityDialog.nextPane
EI2 new org.aavso.tools.vstar.ui.dialog.series.MeanSourcePane(ObservationAndMeanPlotModel, ObservationAndMeanPlotPane) may expose internal representation by storing an externally mutable object into MeanSourcePane.obsPlotModel
EI2 new org.aavso.tools.vstar.ui.dialog.series.MeanSourcePane(ObservationAndMeanPlotModel, ObservationAndMeanPlotPane) may expose internal representation by storing an externally mutable object into MeanSourcePane.obsPlotPane
EI2 new org.aavso.tools.vstar.ui.dialog.series.MultipleSeriesSelectionDialog(SeriesVisibilityPane) may expose internal representation by storing an externally mutable object into MultipleSeriesSelectionDialog.seriesVisibilityPane
EI2 new org.aavso.tools.vstar.ui.dialog.series.SeriesVisibilityPane(ObservationAndMeanPlotModel, AnalysisType, boolean, boolean, boolean) may expose internal representation by storing an externally mutable object into SeriesVisibilityPane.obsPlotModel
EI2 new org.aavso.tools.vstar.ui.dialog.series.SingleSeriesSelectionDialog(ObservationAndMeanPlotModel) may expose internal representation by storing an externally mutable object into SingleSeriesSelectionDialog.obsPlotModel
EI2 new org.aavso.tools.vstar.ui.dialog.series.SingleSeriesSelectionPane(ObservationAndMeanPlotModel) may expose internal representation by storing an externally mutable object into SingleSeriesSelectionPane.obsPlotModel
EI2 new org.aavso.tools.vstar.ui.mediator.StarInfo(AbstractObservationRetriever, String, String, Double, Double, String, String, String, RAInfo, DecInfo, Integer) may expose internal representation by storing an externally mutable object into StarInfo.retriever
EI2 org.aavso.tools.vstar.ui.mediator.StarInfo.setRetriever(AbstractObservationRetriever) may expose internal representation by storing an externally mutable object into StarInfo.retriever
EI2 new org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage(AnalysisType, ObservationAndMeanPlotPane, ObservationListPane, SyntheticObservationListPane, ViewModeType) may expose internal representation by storing an externally mutable object into AnalysisTypeChangeMessage.meansListPane
EI2 new org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage(AnalysisType, ObservationAndMeanPlotPane, ObservationListPane, SyntheticObservationListPane, ViewModeType) may expose internal representation by storing an externally mutable object into AnalysisTypeChangeMessage.obsAndMeanChartPane
EI2 new org.aavso.tools.vstar.ui.mediator.message.AnalysisTypeChangeMessage(AnalysisType, ObservationAndMeanPlotPane, ObservationListPane, SyntheticObservationListPane, ViewModeType) may expose internal representation by storing an externally mutable object into AnalysisTypeChangeMessage.obsListPane
EI2 new org.aavso.tools.vstar.ui.mediator.message.DiscrepantObservationMessage(ValidObservation, Object) may expose internal representation by storing an externally mutable object into DiscrepantObservationMessage.observation
EI2 new org.aavso.tools.vstar.ui.mediator.message.ExcludedObservationMessage(List, Object) may expose internal representation by storing an externally mutable object into ExcludedObservationMessage.observations
EI2 new org.aavso.tools.vstar.ui.mediator.message.HarmonicSearchResultMessage(Object, List, IPeriodAnalysisDatum, double) may expose internal representation by storing an externally mutable object into HarmonicSearchResultMessage.harmonics
EI2 new org.aavso.tools.vstar.ui.mediator.message.MultipleObservationSelectionMessage(List, Object) may expose internal representation by storing an externally mutable object into MultipleObservationSelectionMessage.observations
EI2 new org.aavso.tools.vstar.ui.mediator.message.NewStarMessage(NewStarType, StarInfo, List, Map, double, double, String) may expose internal representation by storing an externally mutable object into NewStarMessage.obs
EI2 new org.aavso.tools.vstar.ui.mediator.message.NewStarMessage(NewStarType, StarInfo, List, Map, double, double, String) may expose internal representation by storing an externally mutable object into NewStarMessage.obsCategoryMap
EI2 new org.aavso.tools.vstar.ui.mediator.message.NewStarMessage(NewStarType, StarInfo, List, Map, double, double, String) may expose internal representation by storing an externally mutable object into NewStarMessage.starInfo
EI2 new org.aavso.tools.vstar.ui.mediator.message.ObservationSelectionMessage(ValidObservation, Object) may expose internal representation by storing an externally mutable object into ObservationSelectionMessage.observation
EI2 new org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage(Object, Map, Map, List) may expose internal representation by storing an externally mutable object into PeriodAnalysisRefinementMessage.newTopHits
EI2 new org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage(Object, Map, Map, List) may expose internal representation by storing an externally mutable object into PeriodAnalysisRefinementMessage.refinedData
EI2 new org.aavso.tools.vstar.ui.mediator.message.PeriodAnalysisRefinementMessage(Object, Map, Map, List) may expose internal representation by storing an externally mutable object into PeriodAnalysisRefinementMessage.refinedTopHits
EI2 new org.aavso.tools.vstar.ui.mediator.message.PhaseChangeMessage(Object, double, double, Map) may expose internal representation by storing an externally mutable object into PhaseChangeMessage.seriesVisibilityMap
EI2 new org.aavso.tools.vstar.ui.mediator.message.PhaseSelectionMessage(Object, double, double, Map) may expose internal representation by storing an externally mutable object into PhaseSelectionMessage.seriesVisibilityMap
EI2 new org.aavso.tools.vstar.ui.mediator.message.SeriesCreationMessage(Object, SeriesType, List) may expose internal representation by storing an externally mutable object into SeriesCreationMessage.obs
EI2 new org.aavso.tools.vstar.ui.mediator.message.SeriesVisibilityChangeMessage(Object, Set) may expose internal representation by storing an externally mutable object into SeriesVisibilityChangeMessage.visibleSeries
EI2 new org.aavso.tools.vstar.ui.model.list.AbstractSyntheticObservationTableModel(List) may expose internal representation by storing an externally mutable object into AbstractSyntheticObservationTableModel.obs
EI2 new org.aavso.tools.vstar.ui.model.list.InvalidObservationTableModel(List) may expose internal representation by storing an externally mutable object into InvalidObservationTableModel.invalidObservations
EI2 new org.aavso.tools.vstar.ui.model.list.PeriodAnalysisDataTableModel(PeriodAnalysisCoordinateType[], Map) may expose internal representation by storing an externally mutable object into PeriodAnalysisDataTableModel.columnTypes
EI2 new org.aavso.tools.vstar.ui.model.list.PeriodAnalysisDataTableModel(PeriodAnalysisCoordinateType[], Map) may expose internal representation by storing an externally mutable object into PeriodAnalysisDataTableModel.data
EI2 org.aavso.tools.vstar.ui.model.list.PeriodAnalysisDataTableModel.setData(Map) may expose internal representation by storing an externally mutable object into PeriodAnalysisDataTableModel.data
EI2 new org.aavso.tools.vstar.ui.model.list.ValidObservationTableModel(Map, List, ITableColumnInfoSource) may expose internal representation by storing an externally mutable object into ValidObservationTableModel.obsSourceListMap
EI2 new org.aavso.tools.vstar.ui.model.list.WWZDataTableModel(List, WeightedWaveletZTransform) may expose internal representation by storing an externally mutable object into WWZDataTableModel.stats
EI2 new org.aavso.tools.vstar.ui.model.list.WWZDataTableModel(List, WeightedWaveletZTransform) may expose internal representation by storing an externally mutable object into WWZDataTableModel.wwt
EI2 new org.aavso.tools.vstar.ui.model.plot.ContinuousModelFunction(UnivariateRealFunction, List, double, ICoordSource) may expose internal representation by storing an externally mutable object into ContinuousModelFunction.fit
EI2 org.aavso.tools.vstar.ui.model.plot.ContinuousModelFunction.setPpModel(PhasedObservationAndMeanPlotModel) may expose internal representation by storing an externally mutable object into ContinuousModelFunction.ppModel
EI2 new org.aavso.tools.vstar.ui.model.plot.ContinuousModelPlotModel(ContinuousModelFunction) may expose internal representation by storing an externally mutable object into ContinuousModelPlotModel.modelFunction
EI2 new org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel(Map, ICoordSource, Comparator, ITimeElementEntity, Map) may expose internal representation by storing an externally mutable object into ObservationAndMeanPlotModel.timeElementEntity
EI2 new org.aavso.tools.vstar.ui.model.plot.PeriodAnalysis2DPlotModel(Map, PeriodAnalysisCoordinateType, PeriodAnalysisCoordinateType, boolean) may expose internal representation by storing an externally mutable object into PeriodAnalysis2DPlotModel.analysisValues
EI2 new org.aavso.tools.vstar.ui.model.plot.PhasedObservationAndMeanPlotModel(Map, ICoordSource, Comparator, ITimeElementEntity, Map, ContinuousModelFunction, int) may expose internal representation by storing an externally mutable object into PhasedObservationAndMeanPlotModel.modelFunction
EI2 new org.aavso.tools.vstar.ui.model.plot.WWZ2DPlotModel(List, WWZCoordinateType, WWZCoordinateType) may expose internal representation by storing an externally mutable object into WWZ2DPlotModel.stats
EI2 new org.aavso.tools.vstar.ui.pane.list.ListSearchPane(AbstractTableModel, TableRowSorter) may expose internal representation by storing an externally mutable object into ListSearchPane.rowSorter
EI2 new org.aavso.tools.vstar.ui.pane.list.ObservationListPane(String, ValidObservationTableModel, InvalidObservationTableModel, boolean, Set, AnalysisType) may expose internal representation by storing an externally mutable object into ObservationListPane.validDataModel
EI2 new org.aavso.tools.vstar.ui.pane.list.SyntheticObservationListPane(AbstractSyntheticObservationTableModel, String) may expose internal representation by storing an externally mutable object into SyntheticObservationListPane.obsTableModel
EI2 new org.aavso.tools.vstar.ui.pane.list.VeLaListSearchPane(ValidObservationTableModel, TableRowSorter) may expose internal representation by storing an externally mutable object into VeLaListSearchPane.model
EI2 new org.aavso.tools.vstar.ui.pane.list.VeLaListSearchPane(ValidObservationTableModel, TableRowSorter) may expose internal representation by storing an externally mutable object into VeLaListSearchPane.rowSorter
EI2 new org.aavso.tools.vstar.ui.pane.list.VisibleSeriesRowFilter(ValidObservationTableModel, Set, AnalysisType) may expose internal representation by storing an externally mutable object into VisibleSeriesRowFilter.tableModel
EI2 new org.aavso.tools.vstar.ui.pane.list.VisibleSeriesRowFilter(ValidObservationTableModel, Set, AnalysisType) may expose internal representation by storing an externally mutable object into VisibleSeriesRowFilter.visibleSeries
EI2 new org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane(String, String, String, String, ObservationAndMeanPlotModel, Dimension, AbstractObservationRetriever) may expose internal representation by storing an externally mutable object into AbstractObservationPlotPane.bounds
EI2 new org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane(String, String, String, String, ObservationAndMeanPlotModel, Dimension, AbstractObservationRetriever) may expose internal representation by storing an externally mutable object into AbstractObservationPlotPane.obsModel
EI2 new org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane(String, String, String, String, ObservationAndMeanPlotModel, Dimension, AbstractObservationRetriever) may expose internal representation by storing an externally mutable object into AbstractObservationPlotPane.retriever
EI2 new org.aavso.tools.vstar.ui.pane.plot.PhaseAndMeanPlotPane(String, String, Dimension, double, double, AbstractObservationRetriever, PhasedObservationAndMeanPlotModel[]) may expose internal representation by storing an externally mutable object into PhaseAndMeanPlotPane.obsAndMeanModels
EI2 new org.aavso.tools.vstar.ui.pane.plot.TimeElementsInBinSettingPane(String, ObservationAndMeanPlotPane, ITimeElementEntity) may expose internal representation by storing an externally mutable object into TimeElementsInBinSettingPane.plotPane
EI2 new org.aavso.tools.vstar.ui.pane.plot.TimeElementsInBinSettingPane(String, ObservationAndMeanPlotPane, ITimeElementEntity) may expose internal representation by storing an externally mutable object into TimeElementsInBinSettingPane.timeElementEntity
EI2 new org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginTask(ObservationSourcePluginBase) may expose internal representation by storing an externally mutable object into NewStarFromObSourcePluginTask.obSourcePlugin
EI2 new org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginWithSuppliedFileTask(ObservationSourcePluginBase, File, boolean) may expose internal representation by storing an externally mutable object into NewStarFromObSourcePluginWithSuppliedFileTask.obSourcePlugin
EI2 new org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginWithSuppliedURLTask(ObservationSourcePluginBase, URL, boolean) may expose internal representation by storing an externally mutable object into NewStarFromObSourcePluginWithSuppliedURLTask.obSourcePlugin
EI2 new org.aavso.tools.vstar.ui.task.ObsListFileSaveTask(ObservationSinkPluginBase, List, File, String) may expose internal representation by storing an externally mutable object into ObsListFileSaveTask.observations
EI2 new org.aavso.tools.vstar.ui.task.ObsListFileSaveTask(ObservationSinkPluginBase, List, File, String) may expose internal representation by storing an externally mutable object into ObsListFileSaveTask.plugin
EI2 new org.aavso.tools.vstar.ui.task.PeriodAnalysisTask(PeriodAnalysisPluginBase, SeriesType, List) may expose internal representation by storing an externally mutable object into PeriodAnalysisTask.obs
EI2 new org.aavso.tools.vstar.ui.task.PeriodAnalysisTask(PeriodAnalysisPluginBase, SeriesType, List) may expose internal representation by storing an externally mutable object into PeriodAnalysisTask.periodAnalysisPlugin
EI2 new org.aavso.tools.vstar.ui.task.PhasePlotTask(double, double, Map) may expose internal representation by storing an externally mutable object into PhasePlotTask.seriesVisibilityMap
EI2 new org.aavso.tools.vstar.ui.undo.ObservationExclusionAction(List, boolean) may expose internal representation by storing an externally mutable object into ObservationExclusionAction.obs
EI2 new org.aavso.tools.vstar.util.AbstractExtremaFinder(List, UnivariateRealFunction, ICoordSource, double) may expose internal representation by storing an externally mutable object into AbstractExtremaFinder.obs
EI2 new org.aavso.tools.vstar.util.TSBase(List) may expose internal representation by storing an externally mutable object into TSBase.observations
EI2 new org.aavso.tools.vstar.util.model.AbstractModel(List) may expose internal representation by storing an externally mutable object into AbstractModel.obs
EI2 new org.aavso.tools.vstar.util.model.PeriodAnalysisDerivedMultiPeriodicModel(PeriodAnalysisDataPoint, List, IPeriodAnalysisAlgorithm) may expose internal representation by storing an externally mutable object into PeriodAnalysisDerivedMultiPeriodicModel.harmonics
EI2 new org.aavso.tools.vstar.util.model.WWZMultiperiodicModel(WeightedWaveletZTransform, List) may expose internal representation by storing an externally mutable object into WWZMultiperiodicModel.periods
EI2 new org.aavso.tools.vstar.util.model.WWZMultiperiodicModel(WeightedWaveletZTransform, List) may expose internal representation by storing an externally mutable object into WWZMultiperiodicModel.wwt
EI2 new org.aavso.tools.vstar.util.notification.ListChangeMessage(ListChangeType, List, int, Object) may expose internal representation by storing an externally mutable object into ListChangeMessage.source
EI2 new org.aavso.tools.vstar.util.notification.NotifyingArrayList(ArrayList) may expose internal representation by storing an externally mutable object into NotifyingArrayList.list
EI2 new org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint(PeriodAnalysisCoordinateType[], double[]) may expose internal representation by storing an externally mutable object into PeriodAnalysisDataPoint.coordTypes
EI2 new org.aavso.tools.vstar.util.period.wwz.WeightedWaveletZTransform(List, double, double) may expose internal representation by storing an externally mutable object into WeightedWaveletZTransform.obs
EI2 new org.aavso.tools.vstar.util.property.ApplicationProperties(MainFrame) may expose internal representation by storing an externally mutable object into ApplicationProperties.frame
EI2 new org.aavso.tools.vstar.util.stats.Bin(ValidObservation, double[]) may expose internal representation by storing an externally mutable object into Bin.magnitudes
EI2 new org.aavso.tools.vstar.util.stats.Bin(ValidObservation, double[]) may expose internal representation by storing an externally mutable object into Bin.meanObservation
EI2 new org.aavso.tools.vstar.util.stats.BinningResult(SeriesType, int, List, List) may expose internal representation by storing an externally mutable object into BinningResult.magnitudeBins
EI2 new org.aavso.tools.vstar.util.stats.BinningResult(SeriesType, int, List, List) may expose internal representation by storing an externally mutable object into BinningResult.meanObservations
EI2 new org.aavso.tools.vstar.vela.AST(String, Operand) may expose internal representation by storing an externally mutable object into AST.literal
EI2 new org.aavso.tools.vstar.vela.ExpressionVisitor(VeLaInterpreter) may expose internal representation by storing an externally mutable object into ExpressionVisitor.interpreter
EI2 new org.aavso.tools.vstar.vela.FunctionExecutor(Optional, List, List, Optional, Optional) may expose internal representation by storing an externally mutable object into FunctionExecutor.parameterNames
EI2 new org.aavso.tools.vstar.vela.FunctionExecutor(Optional, List, List, Optional, Optional) may expose internal representation by storing an externally mutable object into FunctionExecutor.parameterTypes
EI2 new org.aavso.tools.vstar.vela.JavaMethodExecutor(Object, Method, Optional, List, List, Optional, Optional) may expose internal representation by storing an externally mutable object into JavaMethodExecutor.method
EI2 new org.aavso.tools.vstar.vela.Operand(Type, List) may expose internal representation by storing an externally mutable object into Operand.listVal
EI2 new org.aavso.tools.vstar.vela.Operand(Type, FunctionExecutor) may expose internal representation by storing an externally mutable object into Operand.functionVal
EI2 org.aavso.tools.vstar.vela.Operand.setFunctionVal(FunctionExecutor) may expose internal representation by storing an externally mutable object into Operand.functionVal
EI2 org.aavso.tools.vstar.vela.Operand.setListVal(List) may expose internal representation by storing an externally mutable object into Operand.listVal
EI2 new org.aavso.tools.vstar.vela.UserDefinedFunctionExecutor(VeLaInterpreter, Optional, List, List, Optional, Optional, Optional) may expose internal representation by storing an externally mutable object into UserDefinedFunctionExecutor.vela
EI2 new org.aavso.tools.vstar.vela.VeLaEnvironment(Map, Set) may expose internal representation by storing an externally mutable object into VeLaEnvironment.cache
EI2 new org.aavso.tools.vstar.vela.VeLaEnvironment(Map, Set) may expose internal representation by storing an externally mutable object into VeLaEnvironment.constants
EI2 new org.aavso.tools.vstar.vela.VeLaInterpreter(boolean, boolean, List) may expose internal representation by storing an externally mutable object into VeLaInterpreter.sourceDirectories
EI2 new org.aavso.tools.vstar.vela.VeLaValidObservationEnvironment(ValidObservation) may expose internal representation by storing an externally mutable object into VeLaValidObservationEnvironment.ob
MS Public static org.aavso.tools.vstar.data.SeriesType.getSeriesColorChangeNotifier() may expose internal representation by returning SeriesType.seriesColorChangeNotifier
MS Public static org.aavso.tools.vstar.data.SeriesType.getSeriesSizeChangeNotifier() may expose internal representation by returning SeriesType.seriesSizeChangeNotifier
MS Public static org.aavso.tools.vstar.data.SeriesType.values() may expose internal representation by returning SeriesType.values
MS Public static org.aavso.tools.vstar.data.ValidObservation.getDetailTitles() may expose internal representation by returning ValidObservation.detailTitles
MS Public static org.aavso.tools.vstar.data.ValidObservation.getDetailTypes() may expose internal representation by returning ValidObservation.detailTypes
MS Public static org.aavso.tools.vstar.data.ValidObservation.getStandardDetailKeys() may expose internal representation by returning ValidObservation.standardDetailKeys
MS org.aavso.tools.vstar.data.filter.DoubleFieldMatcher.ops should be package protected
MS org.aavso.tools.vstar.data.filter.ObservationFilter.MATCHERS is a mutable collection
MS org.aavso.tools.vstar.plugin.ob.sink.impl.CommonTextFormatSinkPluginBase.DELIMS is a mutable collection which should be package protected
MS org.aavso.tools.vstar.plugin.ob.sink.impl.CommonTextFormatSinkPluginBase.SUFFIXES is a mutable collection which should be package protected
MS Public static org.aavso.tools.vstar.scripting.ScriptRunner.getInstance() may expose internal representation by returning ScriptRunner.instance
MS Public static org.aavso.tools.vstar.scripting.VStarScriptingAPI.getInstance() may expose internal representation by returning VStarScriptingAPI.instance
MS org.aavso.tools.vstar.ui.MenuBar.minimalUIExclusions is a mutable collection which should be package protected
MS org.aavso.tools.vstar.ui.VStar.LOGGER isn't final but should be
MS Public static org.aavso.tools.vstar.ui.dialog.StarSelectorDialog.getInstance() may expose internal representation by returning StarSelectorDialog.instance
MS Public static org.aavso.tools.vstar.ui.dialog.prefs.PreferencesDialog.getInstance() may expose internal representation by returning PreferencesDialog.instance
MS Public static org.aavso.tools.vstar.ui.mediator.Mediator.getInstance() may expose internal representation by returning Mediator.mediator
MS Public static org.aavso.tools.vstar.ui.mediator.Mediator.getUI() may expose internal representation by returning Mediator.ui
MS org.aavso.tools.vstar.ui.mediator.message.ProgressInfo.BUSY_PROGRESS isn't final but should be
MS org.aavso.tools.vstar.ui.mediator.message.ProgressInfo.CLEAR_PROGRESS isn't final but should be
MS org.aavso.tools.vstar.ui.mediator.message.ProgressInfo.COMPLETE_PROGRESS isn't final but should be
MS org.aavso.tools.vstar.ui.mediator.message.ProgressInfo.INCREMENT_PROGRESS isn't final but should be
MS org.aavso.tools.vstar.ui.mediator.message.ProgressInfo.START_PROGRESS isn't final but should be
MS org.aavso.tools.vstar.ui.model.list.AAVSOFormatRawDataColumnInfoSource.COLUMN_NAMES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.ui.model.list.ArbitraryFormatRawDataColumnInfoSource.COLUMN_NAMES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.ui.model.list.SimpleFormatRawDataColumnInfoSource.COLUMN_NAMES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.ui.model.plot.JDCoordSource.instance isn't final but should be
MS org.aavso.tools.vstar.ui.model.plot.PreviousCyclePhaseCoordSource.instance isn't final but should be
MS org.aavso.tools.vstar.ui.model.plot.StandardPhaseCoordSource.instance isn't final but should be
MS org.aavso.tools.vstar.ui.pane.plot.PhaseAndMeanPlotPane.PHASE isn't final but should be
MS Public static org.aavso.tools.vstar.ui.resources.ResourceAccessor.getLoginInfo() may expose internal representation by returning ResourceAccessor.loginInfo
MS Public static org.aavso.tools.vstar.ui.resources.StarGroups.getInstance() may expose internal representation by returning StarGroups.instance
MS org.aavso.tools.vstar.util.comparator.JDComparator.instance isn't final but should be
MS org.aavso.tools.vstar.util.notification.ListChangeMessage.NONE isn't final but should be
MS org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint.DCDFT_COORD_TYPES should be package protected
MS org.aavso.tools.vstar.util.prefs.ChartPropertiesPrefs.MAX_PNG_SCALE_FACTOR isn't final but should be
MS org.aavso.tools.vstar.util.prefs.ChartPropertiesPrefs.MIN_PNG_SCALE_FACTOR isn't final but should be
MS org.aavso.tools.vstar.util.stats.PhaseCalcs.epochStrategyMap isn't final but should be
MS org.aavso.tools.vstar.vela.FunctionExecutor.ANY_FORMAL_NAMES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.vela.FunctionExecutor.ANY_FORMAL_TYPES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.vela.FunctionExecutor.NO_FORMAL_NAMES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.vela.FunctionExecutor.NO_FORMAL_TYPES is a mutable collection which should be package protected
MS org.aavso.tools.vstar.vela.Operand.EMPTY_LIST isn't final but should be
MS org.aavso.tools.vstar.vela.Operand.NO_VALUE isn't final but should be
MS org.aavso.tools.vstar.vela.VeLaLexer.modeNames should be both final and package protected
MS org.aavso.tools.vstar.vela.VeLaLexer._decisionToDFA should be package protected
MS org.aavso.tools.vstar.vela.VeLaLexer.ruleNames should be package protected
MS org.aavso.tools.vstar.vela.VeLaLexer.tokenNames should be package protected
MS org.aavso.tools.vstar.vela.VeLaParser._decisionToDFA should be package protected
MS org.aavso.tools.vstar.vela.VeLaParser.ruleNames should be package protected
MS org.aavso.tools.vstar.vela.VeLaParser.tokenNames should be package protected

Multithreaded correctness Warnings

Code Warning
AT Shared primitive variable "obsTextProvided" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "cancelled" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "obsCount" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "successful" in one thread may not yield the value of the most recent write from another thread
AT This write of the 64-bit primitive variable "maxAmp" may not atomic
AT This write of the 64-bit primitive variable "maxPeriod" may not atomic
AT This write of the 64-bit primitive variable "maxWWZ" may not atomic
AT This write of the 64-bit primitive variable "minAmp" may not atomic
AT This write of the 64-bit primitive variable "minPeriod" may not atomic
AT This write of the 64-bit primitive variable "minWWZ" may not atomic
AT This write of the 64-bit primitive variable "fhi" may not atomic
AT This write of the 64-bit primitive variable "flo" may not atomic
AT This write of the 64-bit primitive variable "fhi" may not atomic
AT This write of the 64-bit primitive variable "flo" may not atomic
AT This write of the 64-bit primitive variable "maxPeriod" may not atomic
AT This write of the 64-bit primitive variable "minPeriod" may not atomic
AT Operation on the "ntau" shared variable in "WeightedWaveletZTransform" class is not atomic
AT Shared primitive variable "numdat" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "nfreq" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "nfreq" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "ntau" in one thread may not yield the value of the most recent write from another thread
AT Shared primitive variable "threadCount" in one thread may not yield the value of the most recent write from another thread
LI Incorrect lazy initialization of static field org.aavso.tools.vstar.scripting.VStarScriptingAPI.instance in org.aavso.tools.vstar.scripting.VStarScriptingAPI.getInstance()
SWL org.aavso.tools.vstar.scripting.VStarScriptingAPI.pause(long) calls Thread.sleep() with a lock held

Performance Warnings

Code Warning
Dm new org.aavso.tools.vstar.data.CommentCodes(String) invokes inefficient new String() constructor
Dm org.aavso.tools.vstar.input.database.Authenticator.authenticate() invokes inefficient new String(String) constructor
Dm org.aavso.tools.vstar.ui.mediator.Mediator.createNewStarObservationArtefacts(NewStarType, StarInfo, int, boolean) forces garbage collection; extremely dubious except in benchmarking code
SBSC org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase.getInputName() concatenates strings using + in a loop
SBSC org.aavso.tools.vstar.scripting.VStarScriptingAPI.getSeries() concatenates strings using + in a loop
SBSC org.aavso.tools.vstar.ui.dialog.MultiEntryComponentDialog.okAction() concatenates strings using + in a loop
SBSC org.aavso.tools.vstar.ui.dialog.model.HarmonicInfoDialog$3.actionPerformed(ActionEvent) concatenates strings using + in a loop
SBSC org.aavso.tools.vstar.ui.task.NewStarFromObSourcePluginTask.configure() concatenates strings using + in a loop
SBSC org.aavso.tools.vstar.util.model.RelativeAmplitudeAndPhaseCreator.getRelativeSequenceString(double, int, boolean) concatenates strings using + in a loop
SIC Should org.aavso.tools.vstar.ui.dialog.DateToJdDialog$DoubleFieldSeconds be a _static_ inner class?
SIC Should org.aavso.tools.vstar.ui.dialog.prefs.ChartPropertiesSelectionPane$ChartFontLabel be a _static_ inner class?
SIC Should org.aavso.tools.vstar.ui.dialog.prefs.ChartPropertiesSelectionPane$ColorRectComponent be a _static_ inner class?
SIC Should org.aavso.tools.vstar.ui.dialog.prefs.ChartPropertiesSelectionPane$FontDialog be a _static_ inner class?
SIC Should org.aavso.tools.vstar.ui.dialog.prefs.SeriesSizeSelectionPane$DotComponent be a _static_ inner class?
SIC Should org.aavso.tools.vstar.util.period.dcdft.TSDcDft$ResolutionResult be a _static_ inner class?
SS Unread field: org.aavso.tools.vstar.data.validation.JulianDayValidator.pattern; should this field be static?
SS Unread field: org.aavso.tools.vstar.data.validation.MagnitudeFieldValidator.MAG_INDEX; should this field be static?
SS Unread field: org.aavso.tools.vstar.data.validation.MagnitudeFieldValidator.MAG_MODIFIER_INDEX; should this field be static?
SS Unread field: org.aavso.tools.vstar.data.validation.MagnitudeFieldValidator.UNCERTAINTY_INDEX; should this field be static?
SS Unread field: org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManagementDialog.DIALOG_TITLE; should this field be static?
SS Unread field: org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManagementDialog.DIALOG_TITLE_MOD; should this field be static?
WMI org.aavso.tools.vstar.data.SeriesType.updateSeriesColorMap(Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.data.SeriesType.updateSeriesSizeMap(Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.data.ValidObservation.toString() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase.getURLs() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.dialog.InfoDialog.createInfoPanel(List) makes inefficient use of keySet iterator instead of entrySet iterator
WMI new org.aavso.tools.vstar.ui.dialog.prefs.LocaleSelectionPane() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.dialog.series.SeriesVisibilityPane.seriesVisibilityChange(Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.mediator.Mediator.createPhasePlotArtefacts(double, double, Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.mediator.message.PhaseChangeMessage.toString() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.model.plot.ObservationAndMeanPlotModel.determineMeanSeriesSource() makes inefficient use of keySet iterator instead of entrySet iterator
WMI new org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel(Map, ICoordSource, Comparator) makes inefficient use of keySet iterator instead of entrySet iterator
WMI new org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel(Map, ICoordSource, Comparator, Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.model.plot.ObservationPlotModel.getVisibleSeries() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.seriesVisibilityChange(Map) makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.setMagScale() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.setSeriesColors() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.setSeriesSizes() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.setSeriesVisibility() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.resources.StarGroups.createStarGroupPrefsValue() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.ui.resources.StarGroups.createStarGroupPrefsValue() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.util.model.RelativeAmplitudeAndPhaseCreator.hasHarmonics() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.util.period.dcdft.PeriodAnalysisDataPoint.toString() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.vela.VeLaEnvironment.toString() makes inefficient use of keySet iterator instead of entrySet iterator
WMI org.aavso.tools.vstar.vela.VeLaInterpreter$3.apply(List) makes inefficient use of keySet iterator instead of entrySet iterator

Dodgy code Warnings

Code Warning
DLS Dead store to starName in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase.getURLs()
DLS Dead store to lastGroup in org.aavso.tools.vstar.ui.MenuBar.createAnalysisMenu()
DLS Dead store to statsTextArea in org.aavso.tools.vstar.ui.dialog.InfoDialog.createInfoPanel(List)
DLS Dead store to jda in org.aavso.tools.vstar.util.TSBase.load_raw()
DLS Dead store to jdb in org.aavso.tools.vstar.util.TSBase.load_raw()
DLS Dead store to damplit in org.aavso.tools.vstar.util.period.dcdft.TSDcDft.dcdftCommon()
DLS Dead store to hiper in org.aavso.tools.vstar.util.period.dcdft.TSDcDft.frequency_range()
DLS Dead store to nnn in org.aavso.tools.vstar.util.period.dcdft.TSDcDft.multiPeriodicFit(List, PeriodAnalysisDerivedMultiPeriodicModel)
DLS Dead store to xlofre in org.aavso.tools.vstar.util.period.dcdft.TSDcDft.period_range()
DLS Dead store to parameterNames in new org.aavso.tools.vstar.vela.JavaMethodExecutor(Object, Method, Optional, List, List, Optional, Optional)
FE Test for floating point equality in org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.setMagScale()
FE Test for floating point equality in org.aavso.tools.vstar.util.model.Harmonic.isHarmonic(Harmonic)
IA Potentially ambiguous invocation of either an outer or inherited method org.aavso.tools.vstar.ui.dialog.AbstractOkCancelDialog.createButtonPane() in new org.aavso.tools.vstar.ui.dialog.prefs.ChartPropertiesSelectionPane$FontDialog(ChartPropertiesSelectionPane, Font)
ICAST Integral division result cast to double or float in new org.aavso.tools.vstar.ui.model.plot.ContinuousModelPlotModel(ContinuousModelFunction)
ICAST Integral division result cast to double or float in org.aavso.tools.vstar.ui.pane.plot.VStarPlotDataRenderer.setSeriesSize(int, int)
NP Load of known null value in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceObservationSourcePluginBase.getMType(String)
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.deleteAllPlugins() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.deleteAllPlugins() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.retrieveLocalPluginInfo() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.dialog.plugin.manager.PluginManager.retrieveLocalPluginInfo() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.resources.PluginLoader.loadPlugins() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.ui.resources.PluginLoader.loadPlugins() due to return value of called method
NP Possible null pointer dereference in org.aavso.tools.vstar.vela.VeLaInterpreter.loadUserCode() due to return value of called method
RCN Redundant nullcheck of id, which is known to be non-null in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceCSVObservationSourcePlugin$VSXCSVObservationRetriever.retrieveNextObservation(CsvReader)
RCN Redundant nullcheck of id, which is known to be non-null in org.aavso.tools.vstar.plugin.ob.src.impl.AIDWebServiceXMLAttributeObservationSourcePlugin$VSXAIDAttributeObservationRetriever.retrieveObservation(INodeSequence)
RCN Redundant nullcheck of org.aavso.tools.vstar.ui.ToolBar.newStarFromDatabaseIcon, which is known to be non-null in org.aavso.tools.vstar.ui.ToolBar.retrieveToolBarIcons()
REC Exception is caught when Exception is not thrown in org.aavso.tools.vstar.ui.VStar.<static initializer for VStar>()
REC Exception is caught when Exception is not thrown in org.aavso.tools.vstar.vela.Operand.object2Operand(Type, Object)
RV Return value of org.aavso.tools.vstar.input.AbstractObservationRetriever.getNumberOfRecords() ignored, but method has no side effect
RV Return value of org.aavso.tools.vstar.input.AbstractObservationRetriever.getNumberOfRecords() ignored, but method has no side effect
SA Double assignment of urlStr in org.aavso.tools.vstar.util.help.Help.openPluginHelp(String)
SF Switch statement found in org.aavso.tools.vstar.data.filter.BooleanFieldMatcher.matches(ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.data.filter.DoubleFieldMatcher.matches(ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.data.filter.SeriesTypeFieldMatcher.matches(ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.data.filter.StringFieldMatcher.matches(ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.plugin.ob.src.impl.AAVSOPhotometryURLObservationSourceBase$AAVSOPhotometryURLSearchParameterDialog$2.actionPerformed(ActionEvent) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.dialog.AdditiveLoadFileOrUrlChooser.createPluginsList() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.mediator.Mediator.saveSyntheticObsListToFile(Component, ObservationSinkPluginBase, ViewModeType, File, String) where one case falls through to the next case
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.AAVSOFormatRawDataColumnInfoSource.getTableColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.AAVSOFormatRawDataColumnInfoSource.getTableColumnTitle(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.AAVSOFormatRawDataColumnInfoSource.getTableColumnValue(int, ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.InvalidObservationTableModel.getColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.InvalidObservationTableModel.getColumnName(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.InvalidObservationTableModel.getValueAt(int, int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotMeanObservationTableModel.getColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotMeanObservationTableModel.getColumnName(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotMeanObservationTableModel.getValueAt(int, int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotModelObservationTableModel.getColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotModelObservationTableModel.getColumnName(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.PhasePlotModelObservationTableModel.getValueAt(int, int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataMeanObservationTableModel.getColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataMeanObservationTableModel.getColumnName(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataMeanObservationTableModel.getValueAt(int, int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataModelObservationTableModel.getColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataModelObservationTableModel.getColumnName(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.RawDataModelObservationTableModel.getValueAt(int, int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.SimpleFormatRawDataColumnInfoSource.getTableColumnClass(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.SimpleFormatRawDataColumnInfoSource.getTableColumnTitle(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.model.list.SimpleFormatRawDataColumnInfoSource.getTableColumnValue(int, ValidObservation) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.ui.vela.VeLaDialog$2.keyTyped(KeyEvent) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.util.period.wwz.WWZCoordinateType.getTypeFromId(int) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.Type.name2Vela(String) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaInterpreter$10.apply(List) where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.anonFundef() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.funcall() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.ifExpression() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.list() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.namedFundef() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaParser.sequence() where default case is missing
SF Switch statement found in org.aavso.tools.vstar.vela.VeLaValidObservationEnvironment.operand(Type, String, Object) where default case is missing
ST Write to static field org.aavso.tools.vstar.data.ValidObservation.detailIndex from instance method org.aavso.tools.vstar.data.ValidObservation.addDetail(String, Property, String)
ST Write to static field org.aavso.tools.vstar.ui.mediator.DocumentManager.filterNum from instance method org.aavso.tools.vstar.ui.mediator.DocumentManager.getNextUntitledFilterName()
ST Write to static field org.aavso.tools.vstar.ui.mediator.Mediator.ui from instance method org.aavso.tools.vstar.ui.mediator.Mediator.setUI(IMainUI)
ST Write to static field org.aavso.tools.vstar.ui.mediator.Mediator.ui from instance method new org.aavso.tools.vstar.ui.mediator.Mediator()
ST Write to static field org.aavso.tools.vstar.ui.vela.VeLaDialog.code from instance method new org.aavso.tools.vstar.ui.vela.VeLaDialog(String, String)
ST Write to static field org.aavso.tools.vstar.ui.vela.VeLaDialog.code from instance method new org.aavso.tools.vstar.ui.vela.VeLaDialog(String, String, JComponent, Consumer)
UC Method org.aavso.tools.vstar.ui.dialog.period.PeriodAnalysis2DChartPane.datasetChanged(DatasetChangeEvent) seems to be useless
UC Useless condition: it's known that this.interrupted == false at this point
UC Useless object stored in variable dzeta of method org.aavso.tools.vstar.util.model.TSPolynomialFitter.polyfit()
UC Useless object stored in variable extendedParams of method new org.aavso.tools.vstar.vela.JavaMethodExecutor(Object, Method, Optional, List, List, Optional, Optional)
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.dsig
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.dtsig
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.magspan
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.ndigt
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.obias
UrF Unread public/protected field: org.aavso.tools.vstar.util.TSBase.tmark
UwF Unwritten public or protected field: org.aavso.tools.vstar.ui.dialog.series.AbstractSeriesVisibilityDialog.seriesVisibilityPane
UwF Unwritten public or protected field: org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.chartControlPanel
UwF Unwritten public or protected field: org.aavso.tools.vstar.ui.pane.plot.AbstractObservationPlotPane.obsInfo
UwF Unwritten public or protected field: org.aavso.tools.vstar.util.notification.NotifyingList.notifier

Details

AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE: Operation on shared variable is not atomic

This write of a variable shared between functions depends on the current value of the variable (either because it's a compound operation - e.g. +=, ++ - or it simply depends on the current value), as such it consists of more than one discrete operation. These operations are not atomic in themselves and need further synchronization. See SEI CERT rule VNA02-J. Simply declaring a variable volatile fails to guarantee the atomicity of compound operations on the variable, but synchronizing the writes on top of declaring the variable volatile for read operations is sufficient.

To solve this issue, synchronize compound operations and other write operations depending on the previous value, use read-write locks, or declare the shared variable with an atomic type.

AT_NONATOMIC_64BIT_PRIMITIVE: This write of this 64-bit primitive variable may not atomic

The long and the double are 64-bit primitive types, and depending on the Java Virtual Machine implementation assigning a value to them can be treated as two separate 32-bit writes, and as such it's not atomic. See JSL 17.7. Non-Atomic Treatment of double and long. See SEI CERT rule VNA05-J. Ensure atomicity when reading and writing 64-bit values for more info. This bug can be ignored in platforms which guarantee that 64-bit long and double type read and write operations are atomic.

To fix it, declare the variable volatile, change the type of the field to the corresponding atomic type from java.lang.concurrent.atomic or correctly synchronize the code. Declaring the variable volatile may not be enough in some cases: e.g. when the variable is assigned a value which depends on the current value or on the result of nonatomic compound operations.

AT_STALE_THREAD_WRITE_OF_PRIMITIVE: This write of this shared primitive variable may not be visible to other threads

SEI CERT rule VNA00-J describes that reading a shared primitive variable in one thread may not yield the value of the most recent write to the variable from another thread. Consequently, the thread may observe a stale value of the shared variable.

To fix it, declare the variable volatile, change the type of the field to the corresponding atomic type from java.lang.concurrent.atomic or correctly synchronize the code. Declaring the variable volatile may not be enough in some cases: e.g. when the variable is assigned a value which depends on the current value or on the result of nonatomic compound operations. This guarantees that 64-bit primitive long and double variables are accessed atomically.

CT_CONSTRUCTOR_THROW: Be wary of letting constructors throw exceptions.

Classes that throw exceptions in their constructors are vulnerable to Finalizer attacks

A finalizer attack can be prevented, by declaring the class final, using an empty finalizer declared as final, or by a clever use of a private constructor.

See SEI CERT Rule OBJ-11 for more information.

CO_COMPARETO_INCORRECT_FLOATING: compareTo()/compare() incorrectly handles float or double value

This method compares double or float values using pattern like this: val1 > val2 ? 1 : val1 < val2 ? -1 : 0. This pattern works incorrectly for -0.0 and NaN values which may result in incorrect sorting result or broken collection (if compared values are used as keys). Consider using Double.compare or Float.compare static methods which handle all the special cases correctly.

DE_MIGHT_IGNORE: Method might ignore exception

This method might ignore an exception.  In general, exceptions should be handled or reported in some way, or they should be thrown out of the method.

DLS_DEAD_LOCAL_STORE: Dead store to local variable

This instruction assigns a value to a local variable, but the value is not read or used in any subsequent instruction. Often, this indicates an error, because the value computed is never used.

Note that Sun's javac compiler often generates dead stores for final local variables. Because SpotBugs is a bytecode-based tool, there is no easy way to eliminate these false positives.

DM_GC: Explicit garbage collection; extremely dubious except in benchmarking code

Code explicitly invokes garbage collection. Except for specific use in benchmarking, this is very dubious.

In the past, situations where people have explicitly invoked the garbage collector in routines such as close or finalize methods has led to huge performance black holes. Garbage collection can be expensive. Any situation that forces hundreds or thousands of garbage collections will bring the machine to a crawl.

DM_EXIT: Method invokes System.exit(...)

Invoking System.exit shuts down the entire Java virtual machine. This should only been done when it is appropriate. Such calls make it hard or impossible for your code to be invoked by other code. Consider throwing a RuntimeException instead.

DM_STRING_VOID_CTOR: Method invokes inefficient new String() constructor

Creating a new java.lang.String object using the no-argument constructor wastes memory because the object so created will be functionally indistinguishable from the empty string constant "".  Java guarantees that identical string constants will be represented by the same String object.  Therefore, you should just use the empty string constant directly.

DM_STRING_CTOR: Method invokes inefficient new String(String) constructor

Using the java.lang.String(String) constructor wastes memory because the object so constructed will be functionally indistinguishable from the String passed as a parameter.  Just use the argument String directly.

DM_DEFAULT_ENCODING: Reliance on default encoding

Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behavior to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.

EC_UNRELATED_TYPES: Call to equals() comparing different types

This method calls equals(Object) on two references of different class types and analysis suggests they will be to objects of different classes at runtime. Further, examination of the equals methods that would be invoked suggest that either this call will always return false, or else the equals method is not symmetric (which is a property required by the contract for equals in class Object).

EI_EXPOSE_REP: May expose internal representation by returning reference to mutable object

Returning a reference to a mutable object value stored in one of the object's fields exposes the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Returning a new copy of the object is better approach in many situations.

EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object

This code stores a reference to an externally mutable object into the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.

ES_COMPARING_STRINGS_WITH_EQ: Comparison of String objects using == or !=

This code compares java.lang.String objects for reference equality using the == or != operators. Unless both strings are either constants in a source file, or have been interned using the String.intern() method, the same string value may be represented by two different String objects. Consider using the equals(Object) method instead.

ES_COMPARING_PARAMETER_STRING_WITH_EQ: Comparison of String parameter using == or !=

This code compares a java.lang.String parameter for reference equality using the == or != operators. Requiring callers to pass only String constants or interned strings to a method is unnecessarily fragile, and rarely leads to measurable performance gains. Consider using the equals(Object) method instead.

EQ_COMPARETO_USE_OBJECT_EQUALS: Class defines compareTo(...) and uses Object.equals()

This class defines a compareTo(...) method but inherits its equals() method from java.lang.Object. Generally, the value of compareTo should return zero if and only if equals returns true. If this is violated, weird and unpredictable failures will occur in classes such as PriorityQueue. In Java 5 the PriorityQueue.remove method uses the compareTo method, while in Java 6 it uses the equals method.

From the JavaDoc for the compareTo method in the Comparable interface:

It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."

FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER: Doomed test for equality to NaN

This code checks to see if a floating point value is equal to the special Not A Number value (e.g., if (x == Double.NaN)). However, because of the special semantics of NaN, no value is equal to Nan, including NaN. Thus, x == Double.NaN always evaluates to false. To check to see if a value contained in x is the special Not A Number value, use Double.isNaN(x) (or Float.isNaN(x) if x is floating point precision).

FE_FLOATING_POINT_EQUALITY: Test for floating point equality

This operation compares two floating point values for equality. Because floating point calculations may involve rounding, calculated float and double values may not be accurate. For values that must be precise, such as monetary values, consider using a fixed-precision type such as BigDecimal. For values that need not be precise, consider comparing for equality within some range, for example: if ( Math.abs(x - y) < .0000001 ). See the Java Language Specification, section 4.2.4.

FL_FLOATS_AS_LOOP_COUNTERS: Do not use floating-point variables as loop counters

Using floating-point variables should not be used as loop counters, as they are not precise, which may result in incorrect loops. A loop counter is a variable that is changed with each iteration and controls when the loop should terminate. It is decreased or increased by a fixed amount each iteration.

See rule NUM09-J.

VA_FORMAT_STRING_USES_NEWLINE: Format string should use %n rather than \n

This format string includes a newline character (\n). In format strings, it is generally preferable to use %n, which will produce the platform-specific line separator. When using text blocks introduced in Java 15, use the \ escape sequence: String value = """ first line%n\ second line%n\ """;

HE_EQUALS_USE_HASHCODE: Class defines equals() and uses Object.hashCode()

This class overrides equals(Object), but does not override hashCode(), and inherits the implementation of hashCode() from java.lang.Object (which returns the identity hash code, an arbitrary value assigned to the object by the VM).  Therefore, the class is very likely to violate the invariant that equal objects must have equal hashcodes.

If you don't think instances of this class will ever be inserted into a HashMap/HashTable, the recommended hashCode implementation to use is:

public int hashCode() {
    assert false : "hashCode not designed";
    return 42; // any arbitrary constant will do
}

IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD: Potentially ambiguous invocation of either an inherited or outer method

An inner class is invoking a method that could be resolved to either an inherited method or a method defined in an outer class. For example, you invoke foo(17), which is defined in both a superclass and in an outer method. By the Java semantics, it will be resolved to invoke the inherited method, but this may not be what you intend.

If you really intend to invoke the inherited method, invoke it by invoking the method on super (e.g., invoke super.foo(17)), and thus it will be clear to other readers of your code and to SpotBugs that you want to invoke the inherited method, not the method in the outer class.

If you call this.foo(17), then the inherited method will be invoked. However, since SpotBugs only looks at classfiles, it cannot tell the difference between an invocation of this.foo(17) and foo(17), it will still complain about a potential ambiguous invocation.

ICAST_IDIV_CAST_TO_DOUBLE: Integral division result cast to double or float

This code casts the result of an integral division (e.g., int or long division) operation to double or float. Doing division on integers truncates the result to the integer value closest to zero. The fact that the result was cast to double suggests that this precision should have been retained. What was probably meant was to cast one or both of the operands to double before performing the division. Here is an example:

int x = 2;
int y = 5;
// Wrong: yields result 0.0
double value1 = x / y;

// Right: yields result 0.4
double value2 = x / (double) y;

IL_INFINITE_LOOP: An apparent infinite loop

This loop doesn't seem to have a way to terminate (other than by perhaps throwing an exception).

LI_LAZY_INIT_STATIC: Incorrect lazy initialization of static field

This method contains an unsynchronized lazy initialization of a non-volatile static field. Because the compiler or processor may reorder instructions, threads are not guaranteed to see a completely initialized object, if the method can be called by multiple threads. You can make the field volatile to correct the problem. For more information, see the Java Memory Model web site.

ME_MUTABLE_ENUM_FIELD: Enum field is public and mutable

A mutable public field is defined inside a public enum, thus can be changed by malicious code or by accident from another package. Though mutable enum fields may be used for lazy initialization, it's a bad practice to expose them to the outer world. Consider declaring this field final and/or package-private.

MF_CLASS_MASKS_FIELD: Class defines field that masks a superclass field

This class defines a field with the same name as a visible instance field in a superclass. This is confusing, and may indicate an error if methods update or access one of the fields when they wanted the other.

MS_MUTABLE_COLLECTION: Field is a mutable collection

A mutable collection instance is assigned to a final static field, thus can be changed by malicious code or by accident from another package. Consider wrapping this field into Collections.unmodifiableSet/List/Map/etc. to avoid this vulnerability.

MS_MUTABLE_COLLECTION_PKGPROTECT: Field is a mutable collection which should be package protected

A mutable collection instance is assigned to a final static field, thus can be changed by malicious code or by accident from another package. The field could be made package protected to avoid this vulnerability. Alternatively you may wrap this field into Collections.unmodifiableSet/List/Map/etc. to avoid this vulnerability.

MS_SHOULD_BE_FINAL: Field isn't final but should be

This public static or protected static field is not final, and could be changed by malicious code or by accident from another package. The field could be made final to avoid this vulnerability.

MS_FINAL_PKGPROTECT: Field should be both final and package protected

A mutable static field could be changed by malicious code or by accident from another package. The field could be made package protected and/or made final to avoid this vulnerability.

MS_PKGPROTECT: Field should be package protected

A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.

MS_EXPOSE_REP: Public static method may expose internal representation by returning a mutable object or array

A public static method returns a reference to a mutable object or an array that is part of the static state of the class. Any code that calls this method can freely modify the underlying array. One fix is to return a copy of the array.

NP_LOAD_OF_KNOWN_NULL_VALUE: Load of known null value

The variable referenced at this point is known to be null due to an earlier check against null. Although this is valid, it might be a mistake (perhaps you intended to refer to a different variable, or perhaps the earlier check to see if the variable is null should have been a check to see if it was non-null).

NP_BOOLEAN_RETURN_NULL: Method with Boolean return type returns explicit null

A method that returns either Boolean.TRUE, Boolean.FALSE or null is an accident waiting to happen. This method can be invoked as though it returned a value of type boolean, and the compiler will insert automatic unboxing of the Boolean value. If a null value is returned, this will result in a NullPointerException.

NP_NULL_ON_SOME_PATH: Possible null pointer dereference

There is a branch of statement that, if executed, guarantees that a null value will be dereferenced, which would generate a NullPointerException when the code is executed. Of course, the problem might be that the branch or statement is infeasible and that the null pointer exception cannot ever be executed; deciding that is beyond the ability of SpotBugs.

NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE: Possible null pointer dereference due to return value of called method

The return value from a method is dereferenced without a null check, and the return value of that method is one that should generally be checked for null. This may lead to a NullPointerException when the code is executed.

NP_NULL_ON_SOME_PATH_EXCEPTION: Possible null pointer dereference in method on exception path

A reference value which is null on some exception control path is dereferenced here.  This may lead to a NullPointerException when the code is executed.  Note that because SpotBugs currently does not prune infeasible exception paths, this may be a false warning.

Also note that SpotBugs considers the default case of a switch statement to be an exception path, since the default case is often infeasible.

NP_TOSTRING_COULD_RETURN_NULL: toString method may return null

This toString method seems to return null in some circumstances. A liberal reading of the spec could be interpreted as allowing this, but it is probably a bad idea and could cause other code to break. Return the empty string or some other appropriate string rather than null.

NM_CLASS_NAMING_CONVENTION: Class names should start with an upper case letter

Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).

OBL_UNSATISFIED_OBLIGATION: Method may fail to clean up stream or resource

This method may fail to clean up (close, dispose of) a stream, database object, or other resource requiring an explicit cleanup operation.

In general, if a method opens a stream or other resource, the method should use a try/finally block to ensure that the stream or resource is cleaned up before the method returns.

This bug pattern is essentially the same as the OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE bug patterns, but is based on a different (and hopefully better) static analysis technique. We are interested is getting feedback about the usefulness of this bug pattern. For sending feedback, check:

In particular, the false-positive suppression heuristics for this bug pattern have not been extensively tuned, so reports about false positives are helpful to us.

See Weimer and Necula, Finding and Preventing Run-Time Error Handling Mistakes (PDF), for a description of the analysis technique.

OS_OPEN_STREAM: Method may fail to close stream

The method creates an IO stream object, does not assign it to any fields, pass it to other methods that might close it, or return it, and does not appear to close the stream on all paths out of the method.  This may result in a file descriptor leak.  It is generally a good idea to use a finally block to ensure that streams are closed.

RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE: Nullcheck of value previously dereferenced

A value is checked here to see whether it is null, but this value cannot be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference. Essentially, this code and the previous dereference disagree as to whether this value is allowed to be null. Either the check is redundant or the previous dereference is erroneous.

RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: Redundant nullcheck of value known to be non-null

This method contains a redundant check of a known non-null value against the constant null.

REC_CATCH_EXCEPTION: Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs.

A better approach is to either explicitly catch the specific exceptions that are thrown, or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:

try {
    ...
} catch (RuntimeException e) {
    throw e;
} catch (Exception e) {
    ... deal with all non-runtime exceptions ...
}

RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: Method ignores exceptional return value

This method returns a value that is not checked. The return value should be checked since it can indicate an unusual or unexpected function execution. For example, the File.delete() method returns false if the file could not be successfully deleted (rather than throwing an Exception). If you don't check the result, you won't notice if the method invocation signals unexpected behavior by returning an atypical return value.

RV_NEGATING_RESULT_OF_COMPARETO: Negating the result of compareTo()/compare()

This code negates the return value of a compareTo or compare method. This is a questionable or bad programming practice, since if the return value is Integer.MIN_VALUE, negating the return value won't negate the sign of the result. You can achieve the same intended result by reversing the order of the operands rather than by negating the results.

RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT: Return value of method without side effect is ignored

This code calls a method and ignores the return value. However, our analysis shows that the method (including its implementations in subclasses if any) does not produce any effect other than return value. Thus, this call can be removed.

We are trying to reduce the false positives as much as possible, but in some cases this warning might be wrong. Common false-positive cases include:

- The method is designed to be overridden and produce a side effect in other projects which are out of the scope of the analysis.

- The method is called to trigger the class loading which may have a side effect.

- The method is called just to get some exception.

If you feel that our assumption is incorrect, you can use a @CheckReturnValue annotation to instruct SpotBugs that ignoring the return value of this method is acceptable.

RpC_REPEATED_CONDITIONAL_TEST: Repeated conditional tests

The code contains a conditional test is performed twice, one right after the other (e.g., x == 0 || x == 0). Perhaps the second occurrence is intended to be something else (e.g., x == 0 || y == 0).

SA_LOCAL_DOUBLE_ASSIGNMENT: Double assignment of local variable

This method contains a double assignment of a local variable; e.g.

public void foo() {
    int x,y;
    x = x = 17;
}

Assigning the same value to a variable twice is useless, and may indicate a logic error or typo.

SBSC_USE_STRINGBUFFER_CONCATENATION: Method concatenates strings using + in a loop

The method seems to be building a String using concatenation in a loop. In each iteration, the String is converted to a StringBuffer/StringBuilder, appended to, and converted back to a String. This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.

Better performance can be obtained by using a StringBuffer (or StringBuilder in Java 5) explicitly.

For example:

// This is bad
String s = "";
for (int i = 0; i < field.length; ++i) {
    s = s + field[i];
}

// This is better
StringBuffer buf = new StringBuffer();
for (int i = 0; i < field.length; ++i) {
    buf.append(field[i]);
}
String s = buf.toString();

SF_SWITCH_NO_DEFAULT: Switch statement found where default case is missing

This method contains a switch statement where default case is missing. Usually you need to provide a default case.

Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other cases.

SF_SWITCH_FALLTHROUGH: Switch statement found where one case falls through to the next case

This method contains a switch statement where one case branch will fall through to the next case. Usually you need to end this case with a break or return.

SIC_INNER_SHOULD_BE_STATIC: Should be a static inner class

This class is an inner class, but does not use its embedded reference to the object which created it.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made static.

SING_SINGLETON_IMPLEMENTS_SERIALIZABLE: Class using singleton design pattern directly or indirectly implements Serializable interface.

This class (using singleton design pattern) directly or indirectly implements the Serializable interface, which allows the class to be serialized.
Deserialization makes multiple instantiation of a singleton class possible, and therefore should be avoided.

SEI CERT MSC07-J rule

SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR: Class using singleton design pattern has non-private constructor.

This class is using singleton design pattern and has non-private constructor (please note that a default constructor might exist which is not private). Given that, it is possible to create a copy of the object, thus violating the singleton pattern.
The easier solution would be making the constructor private.

SEI CERT MSC07-J rule

SS_SHOULD_BE_STATIC: Unread field: should this field be static?

This class contains an instance final field that is initialized to a compile-time static value. Consider making the field static.

ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD: Write to static field from instance method

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.

SWL_SLEEP_WITH_LOCK_HELD: Method calls Thread.sleep() with a lock held

This method calls Thread.sleep() with a lock held. This may result in very poor performance and scalability, or a deadlock, since other threads may be waiting to acquire the lock. It is a much better idea to call wait() on the lock, which releases the lock and allows other threads to run.

SE_COMPARATOR_SHOULD_BE_SERIALIZABLE: Comparator doesn't implement Serializable

This class implements the Comparator interface. You should consider whether or not it should also implement the Serializable interface. If a comparator is used to construct an ordered collection such as a TreeMap, then the TreeMap will be serializable only if the comparator is also serializable. As most comparators have little or no state, making them serializable is generally easy and good defensive programming.

SE_BAD_FIELD_STORE: Non-serializable value stored into instance field of a serializable class

A non-serializable value is stored into a non-transient field of a serializable class.

UC_USELESS_CONDITION: Condition has no effect

This condition always produces the same result as the value of the involved variable that was narrowed before. Probably something else was meant or the condition can be removed.

UC_USELESS_VOID_METHOD: Useless non-empty void method

Our analysis shows that this non-empty void method does not actually perform any useful work. Please check it: probably there's a mistake in its code or its body can be fully removed.

We are trying to reduce the false positives as much as possible, but in some cases this warning might be wrong. Common false-positive cases include:

UC_USELESS_OBJECT: Useless object created

Our analysis shows that this object is useless. It's created and modified, but its value never go outside of the method or produce any side-effect. Either there is a mistake and object was intended to be used or it can be removed.

This analysis rarely produces false-positives. Common false-positive cases include:

- This object used to implicitly throw some obscure exception.

- This object used as a stub to generalize the code.

- This object used to hold strong references to weak/soft-referenced objects.

URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD: Unread public/protected field

This field is never read.  The field is public or protected, so perhaps it is intended to be used with classes not seen as part of the analysis. If not, consider removing it from the class.

UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD: Unwritten public or protected field

No writes were seen to this public/protected field.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.

WMI_WRONG_MAP_ITERATOR: Inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.