StringMonitor (Java SE 12 & JDK 12 )
Keywords: javax.management.monitor.StringMonitor class

Module java.management
Package javax.management.monitor

## Class StringMonitor

- java.lang.Object
- - javax.management.NotificationBroadcasterSupport
  - - javax.management.monitor.Monitor
    - - javax.management.monitor.StringMonitor

- All Implemented Interfaces:
    `MBeanRegistration`, `MonitorMBean`, `StringMonitorMBean`, `NotificationBroadcaster`, `NotificationEmitter`

      public class StringMonitor
      extends Monitor
      implements StringMonitorMBean

  Defines a monitor MBean designed to observe the values of a string attribute.

  A string monitor sends notifications as follows:

  - if the attribute value matches the string to compare value, a `match notification` is sent. The notify match flag must be set to `true`.
    Subsequent matchings of the string to compare values do not cause further notifications unless the attribute value differs from the string to compare value.
  - if the attribute value differs from the string to compare value, a `differ notification` is sent. The notify differ flag must be set to `true`.
    Subsequent differences from the string to compare value do not cause further notifications unless the attribute value matches the string to compare value.
  Since:
    1.5

- - ### Field Summary

    - ### Fields declared in class javax.management.monitor.Monitor

      `alreadyNotified, alreadyNotifieds, capacityIncrement, dbgTag, elementCount, OBSERVED_ATTRIBUTE_ERROR_NOTIFIED, OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED, OBSERVED_OBJECT_ERROR_NOTIFIED, RESET_FLAGS_ALREADY_NOTIFIED, RUNTIME_ERROR_NOTIFIED, server`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StringMonitor()` | Default constructor.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getDerivedGauge()` | Deprecated. As of JMX 1.2, replaced by `getDerivedGauge(ObjectName)`
    `String` | `getDerivedGauge​(ObjectName object)` | Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or `null` otherwise.
    `long` | `getDerivedGaugeTimeStamp()` | Deprecated. As of JMX 1.2, replaced by `getDerivedGaugeTimeStamp(ObjectName)`
    `long` | `getDerivedGaugeTimeStamp​(ObjectName object)` | Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or `0` otherwise.
    `MBeanNotificationInfo[]` | `getNotificationInfo()` | Returns a `NotificationInfo` object containing the name of the Java class of the notification and the notification types sent by the string monitor.
    `boolean` | `getNotifyDiffer()` | Gets the differing notification's on/off switch value common to all observed MBeans.
    `boolean` | `getNotifyMatch()` | Gets the matching notification's on/off switch value common to all observed MBeans.
    `String` | `getStringToCompare()` | Gets the string to compare with the observed attribute common to all observed MBeans.
    `void` | `setNotifyDiffer​(boolean value)` | Sets the differing notification's on/off switch value common to all observed MBeans.
    `void` | `setNotifyMatch​(boolean value)` | Sets the matching notification's on/off switch value common to all observed MBeans.
    `void` | `setStringToCompare​(String value)` | Sets the string to compare with the observed attribute common to all observed MBeans.
    `void` | `start()` | Starts the string monitor.
    `void` | `stop()` | Stops the string monitor.

    - ### Methods declared in class javax.management.monitor.Monitor

      `addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, postDeregister, postRegister, preDeregister, preRegister, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject`

    - ### Methods declared in class javax.management.NotificationBroadcasterSupport

      `addNotificationListener, handleNotification, sendNotification`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods declared in interface javax.management.monitor.MonitorMBean

      `addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject`

    - ### Methods declared in interface javax.management.NotificationBroadcaster

      `removeNotificationListener`

    - ### Methods declared in interface javax.management.NotificationEmitter

      `removeNotificationListener`

- - ### Constructor Detail

    - #### StringMonitor

          public StringMonitor()

      Default constructor.

  - ### Method Detail

    - #### start

          public void start()

      Starts the string monitor.
      Specified by:
        `start` in interface `MonitorMBean`
      Specified by:
        `start` in class `Monitor`

    - #### stop

          public void stop()

      Stops the string monitor.
      Specified by:
        `stop` in interface `MonitorMBean`
      Specified by:
        `stop` in class `Monitor`

    - #### getDerivedGauge

          public String getDerivedGauge​(ObjectName object)

      Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or `null` otherwise.
      Specified by:
        `getDerivedGauge` in interface `StringMonitorMBean`
      Parameters:
        `object` - the name of the MBean whose derived gauge is required.
      Returns:
        The derived gauge of the specified object.

    - #### getDerivedGaugeTimeStamp

          public long getDerivedGaugeTimeStamp​(ObjectName object)

      Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or `0` otherwise.
      Specified by:
        `getDerivedGaugeTimeStamp` in interface `StringMonitorMBean`
      Parameters:
        `object` - the name of the object whose derived gauge timestamp is to be returned.
      Returns:
        The derived gauge timestamp of the specified object.

    - #### getDerivedGauge

          @Deprecated
          public String getDerivedGauge()

      Deprecated.
      As of JMX 1.2, replaced by `getDerivedGauge(ObjectName)`
      Returns the derived gauge of the first object in the set of observed MBeans.
      Specified by:
        `getDerivedGauge` in interface `StringMonitorMBean`
      Returns:
        The derived gauge.

    - #### getDerivedGaugeTimeStamp

          @Deprecated
          public long getDerivedGaugeTimeStamp()

      Deprecated.
      As of JMX 1.2, replaced by `getDerivedGaugeTimeStamp(ObjectName)`
      Gets the derived gauge timestamp of the first object in the set of observed MBeans.
      Specified by:
        `getDerivedGaugeTimeStamp` in interface `StringMonitorMBean`
      Returns:
        The derived gauge timestamp.

    - #### getStringToCompare

          public String getStringToCompare()

      Gets the string to compare with the observed attribute common to all observed MBeans.
      Specified by:
        `getStringToCompare` in interface `StringMonitorMBean`
      Returns:
        The string value.
      See Also:
        `setStringToCompare(java.lang.String)`

    - #### setStringToCompare

          public void setStringToCompare​(String value)
                                  throws IllegalArgumentException

      Sets the string to compare with the observed attribute common to all observed MBeans.
      Specified by:
        `setStringToCompare` in interface `StringMonitorMBean`
      Parameters:
        `value` - The string value.
      Throws:
        `IllegalArgumentException` - The specified string to compare is null.
      See Also:
        `getStringToCompare()`

    - #### getNotifyMatch

          public boolean getNotifyMatch()

      Gets the matching notification's on/off switch value common to all observed MBeans.
      Specified by:
        `getNotifyMatch` in interface `StringMonitorMBean`
      Returns:
        `true` if the string monitor notifies when matching the string to compare, `false` otherwise.
      See Also:
        `setNotifyMatch(boolean)`

    - #### setNotifyMatch

          public void setNotifyMatch​(boolean value)

      Sets the matching notification's on/off switch value common to all observed MBeans.
      Specified by:
        `setNotifyMatch` in interface `StringMonitorMBean`
      Parameters:
        `value` - The matching notification's on/off switch value.
      See Also:
        `getNotifyMatch()`

    - #### getNotifyDiffer

          public boolean getNotifyDiffer()

      Gets the differing notification's on/off switch value common to all observed MBeans.
      Specified by:
        `getNotifyDiffer` in interface `StringMonitorMBean`
      Returns:
        `true` if the string monitor notifies when differing from the string to compare, `false` otherwise.
      See Also:
        `setNotifyDiffer(boolean)`

    - #### setNotifyDiffer

          public void setNotifyDiffer​(boolean value)

      Sets the differing notification's on/off switch value common to all observed MBeans.
      Specified by:
        `setNotifyDiffer` in interface `StringMonitorMBean`
      Parameters:
        `value` - The differing notification's on/off switch value.
      See Also:
        `getNotifyDiffer()`

    - #### getNotificationInfo

          public MBeanNotificationInfo[] getNotificationInfo()

      Returns a `NotificationInfo` object containing the name of the Java class of the notification and the notification types sent by the string monitor.
      Specified by:
        `getNotificationInfo` in interface `NotificationBroadcaster`
      Returns:
        the array of possible notifications.