All Known Subinterfaces:
VisionComponent, VisionContainer
All Known Implementing Classes:
AbstractAlarmTable, AbstractManagerPanel, AbstractRangedComponent, AbstractVisionBufferedComponent, AbstractVisionButton, AbstractVisionChartComponent, AbstractVisionComponent, AbstractVisionPanel, AbstractVisionScrollPane, AbstractVisionShape, AlarmJournalTable, AlarmStatusTable, AlertSummaryTable, BaseFormattedTextField, BasicContainer, BoxEvent, ColumnSelectorPanel, EquipmentScheduleView, FileExplorer, ICEPDFViewer, LanguageSelector, LinearScale, MovingAnalogIndicator, PathBasedVisionShape, PDFViewer, PMI2StateButton, PMIBarChart, PMIBarcode, PMIBoxWhiskerChart, PMIButton, PMIChart, PMIChartPanel, PMICheckBox, PMICircle, PMIComboBox, PMICommentsPanel, PMICommentsPanel2, PMICompass, PMIControlButton, PMICylindricalTank, PMIDateRange, PMIDateTimePopupSelector, PMIDateTimeSelector, PMIDayView, PMIDigitalDisplay, PMIEasyChart, PMIEasyChart.EasyChart, PMIEditorPane, PMIFillLevelIndicator, PMIFormattedTextField, PMIGanttChart, PMIImage, PMILabel, PMILightrailSignal, PMILine, PMILineChartPanel, PMIList, PMIMeter, PMIMomentaryButton, PMIMomentaryButton2, PMIMonthView, PMIMultiStateIndicator, PMINStateButton, PMINumericLabel, PMINumericTextField, PMIPaintableCanvas, PMIPasswordField, PMIPieChart, PMIPipe, PMIPipeJoint, PMIPolygon, PMIProgressBar, PMIRadioButton, PMIRectangle, PMIShape, PMISlider, PMISoundComponent, PMISpinner, PMIStatusChart, PMITable, PMITabStrip, PMITextArea, PMITextField, PMIThermometer, PMIToggleButton, PMITrackSegment, PMITreeView, PMIWeekView, RadarChart, RadarChart2, ReportBase, ReportPanel, ReportViewer, RosterManagementPanel, RosterPane, RowSelectorTree, ScheduleManagementPanel, ScheduleView, SFCMonitoringPanel, ShapeGroup, SparklineChart, TagBrowseTree, TemplateCanvas, TemplateHolder, TemplateRepeater, UserManagementPanel, VisionAdvancedTable, VisionTemplate

public interface QualityMonitor

A component that monitors the quality of its properties' values. The quality can automatically be calculated and tracked for the component via the OverlayUtility. Most components that inherit from AbstractVisionComponent or AbstractVisionPanel will have this ability naturally.

The common implementation of these functions would look like this:

 private QualityCode quality = null;

 public QualityCode getDataQuality() {
   return quality;
 }

 public void setDataQuality(QualityCode value) {
      QualityCode oldQuality = this.quality;
      this.quality = value;
      firePropertyChange("dataQuality", oldQuality, value);
      repaint();
 }

 public void updateQuality(String propName, QualityCode quality) {
   OverlayUtility.updateQuality(this, propName, quality);
 }

 @Override
 protected void paintChildren(Graphics g) {
   super.paintChildren(g);
   OverlayUtility.paintOverlay(this, g);
 }
 

  • Method Details

    • setQuality

      void setQuality(QualityCode value)
      Sets the current data quality to the given value
    • getQuality

      QualityCode getQuality()
      Retrieves the data quality code.
    • getDataQuality

      @Deprecated int getDataQuality()
      Deprecated.
      For backwards compatibility with scripts. Would be awesome if this could just be a default method, but there's a bug (JDK-8071693) that makes that not work with property introspection.
    • setDataQuality

      @Deprecated void setDataQuality(int value)
      Deprecated.
    • updateQuality

      void updateQuality(String propName, QualityCode quality)
      Updates the quality for the given property name. The monitor will then evaluate a new quality based on the quality of its other properties. Overall, the worst quality is chosen.