package com.javamonitor; /** * A monitored item. Basically a pointer into JMX using an object name and an * attribute. * * @author Kees Jan Koster <kjkoster@kjkoster.org> */ final class Item { private final String id; private final String objectName; private final String attribute; private final boolean periodic; /** * Create a new item. * * @param id * The identifier of this item. * @param objectName * The object name for the new item. * @param attribute * The attribute for the new item. * @param periodic * A flag that says if this is a periodic item. */ Item(final String id, final String objectName, final String attribute, final boolean periodic) { this.id = id; this.objectName = objectName; this.attribute = attribute; this.periodic = periodic; } /** * Get the ID of the item. * * @return The ID of the item. */ String getId() { return id; } /** * Find the object name of this item * * @return The JMX object name of the item. */ String getObjectName() { return objectName; } /** * Find the monitored attribute. * * @return The monitored attribute. */ String getAttribute() { return attribute; } /** * Tell if this is a periodic item. * * @return <code>true</code> if this is a periodic item, or * <code>false</code> if it lives as long as a JVM. */ boolean isPeriodic() { return periodic; } }