org.rhq.domain.correlation
Class MetricNormalizationRule

java.lang.Object
  extended by org.rhq.domain.correlation.NormalizationRule
      extended by org.rhq.domain.correlation.MetricNormalizationRule

public class MetricNormalizationRule
extends NormalizationRule

Normalization rule for metrics (Numeric, traits). The rule does not store the conditions in itsels, but uses a list of MetricNormRuleItems for this. MetricNormalizationRules are keyed by the ID of the MeasurementSchedule they operate on.

Author:
Heiko W. Rupp

Constructor Summary
MetricNormalizationRule(int scheduleid, java.lang.String name)
          Create a new rule
 
Method Summary
 void addItem(MetricNormRuleItem item)
          Add a new MetricNormRuleItem to this rule.
 java.util.List<MetricNormRuleItem> getItems()
          Obtain the list of rule items
 int getScheduleId()
          Get the id of the MeasurementSchedule we're working on
 ResultState normalize(org.rhq.core.domain.measurement.MeasurementData data)
          Normalize the passed data into a ResultState
 void setItems(java.util.List<MetricNormRuleItem> items)
          Set a list of rule items
 
Methods inherited from class org.rhq.domain.correlation.NormalizationRule
getId, getRuleName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetricNormalizationRule

public MetricNormalizationRule(int scheduleid,
                               java.lang.String name)
Create a new rule

Parameters:
scheduleid - The id of the MeasurementSchedule this rule is for
name - name of the rule
Method Detail

getScheduleId

public int getScheduleId()
Get the id of the MeasurementSchedule we're working on

Returns:
the schedule id

getItems

public java.util.List<MetricNormRuleItem> getItems()
Obtain the list of rule items

Returns:
list of rule items

setItems

public void setItems(java.util.List<MetricNormRuleItem> items)
Set a list of rule items

Parameters:
items - a List of MetricNormRuleItem

addItem

public void addItem(MetricNormRuleItem item)
Add a new MetricNormRuleItem to this rule.

Parameters:
item -

normalize

public ResultState normalize(org.rhq.core.domain.measurement.MeasurementData data)
Normalize the passed data into a ResultState

Parameters:
data - MeasurementData -- currently only MeasurementDataTrait and MeasurementDataNumeric are supported. Other subtypes will return ResultState.INVALID.
Returns:
ResultState for a matching item or ResultState.INVALID otherwise.