org.opengroup.arm40.metric

Interface ArmMetricFactory

public interface ArmMetricFactory extends ArmInterface

Provides methods to create instances of the classes in the org.opengroup.arm40.metric package. An error callback method can be registered for objects created with this factory (see setErrorCallback). For additional details about error handling philosophy see the description in ArmTransactionFactory.

Semantics of the factory methods are provided in the description of the individual methods below.

ArmMetricFactory is instantiated using a class loader. The actual name of the factory implementation class is obtained from the system property whose name is provided in the propertyKey constant.

Author: ARM Working Group of The Open Group

Field Summary
static StringpropertyKey
name of system property holding the implementation class name.
Method Summary
ArmMetricCounter32newArmMetricCounter32(ArmMetricCounter32Definition definition)
Creates a new metric instance.
ArmMetricCounter32DefinitionnewArmMetricCounter32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricCounter64newArmMetricCounter64(ArmMetricCounter64Definition definition)
Creates a new metric instance.
ArmMetricCounter64DefinitionnewArmMetricCounter64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricCounterFloat32newArmMetricCounterFloat32(ArmMetricCounterFloat32Definition definition)
Creates a new metric instance.
ArmMetricCounterFloat32DefinitionnewArmMetricCounterFloat32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricGauge32newArmMetricGauge32(ArmMetricGauge32Definition definition)
Creates a new metric instance.
ArmMetricGauge32DefinitionnewArmMetricGauge32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricGauge64newArmMetricGauge64(ArmMetricGauge64Definition definition)
Creates a new metric instance.
ArmMetricGauge64DefinitionnewArmMetricGauge64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricGaugeFloat32newArmMetricGaugeFloat32(ArmMetricGaugeFloat32Definition definition)
Creates a new metric instance.
ArmMetricGaugeFloat32DefinitionnewArmMetricGaugeFloat32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricGroupnewArmMetricGroup(ArmMetricGroupDefinition groupDefinition, ArmMetric[] metrics)
Creates an ordered set of ArmMetric subclasses ready for binding to transaction objects.
ArmMetricGroupDefinitionnewArmMetricGroupDefinition(ArmMetricDefinition[] definitions)
Creates an ordered set of ArmMetricDefinition subclasses ready for binding to transaction definition objects.
ArmMetricNumericId32newArmMetricNumericId32(ArmMetricNumericId32Definition definition)
Creates a new metric instance.
ArmMetricNumericId32DefinitionnewArmMetricNumericId32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricNumericId64newArmMetricNumericId64(ArmMetricNumericId64Definition definition)
Creates a new metric instance.
ArmMetricNumericId64DefinitionnewArmMetricNumericId64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmMetricString32newArmMetricString32(ArmMetricString32Definition definition)
Creates a new metric instance.
ArmMetricString32DefinitionnewArmMetricString32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.
ArmTranReportWithMetricsnewArmTranReportWithMetrics(ArmApplication app, ArmTransactionWithMetricsDefinition definition, ArmMetricGroup group)
Creates an object that represents an instance of a transaction with an ArmTranReport interface.
ArmTransactionWithMetricsnewArmTransactionWithMetrics(ArmApplication app, ArmTransactionWithMetricsDefinition definition, ArmMetricGroup group)
Creates an object that represents an instance of a transaction.
ArmTransactionWithMetricsDefinitionnewArmTransactionWithMetricsDefinition(ArmApplicationDefinition app, String name, ArmIdentityPropertiesTransaction identityProperties, ArmMetricGroupDefinition definition, ArmID id)
Creates an object that contains the metadata about a transaction.
booleansetErrorCallback(ArmErrorCallback errorCallback)
Registers an error callback for objects created through this factory.

Field Detail

propertyKey

public static final String propertyKey
name of system property holding the implementation class name.

Method Detail

newArmMetricCounter32

public ArmMetricCounter32 newArmMetricCounter32(ArmMetricCounter32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricCounter32Definition

public ArmMetricCounter32Definition newArmMetricCounter32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

See Also: ArmMetricDefinition

newArmMetricCounter64

public ArmMetricCounter64 newArmMetricCounter64(ArmMetricCounter64Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricCounter64Definition

public ArmMetricCounter64Definition newArmMetricCounter64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricCounterFloat32

public ArmMetricCounterFloat32 newArmMetricCounterFloat32(ArmMetricCounterFloat32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricCounterFloat32Definition

public ArmMetricCounterFloat32Definition newArmMetricCounterFloat32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricGauge32

public ArmMetricGauge32 newArmMetricGauge32(ArmMetricGauge32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricGauge32Definition

public ArmMetricGauge32Definition newArmMetricGauge32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricGauge64

public ArmMetricGauge64 newArmMetricGauge64(ArmMetricGauge64Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricGauge64Definition

public ArmMetricGauge64Definition newArmMetricGauge64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricGaugeFloat32

public ArmMetricGaugeFloat32 newArmMetricGaugeFloat32(ArmMetricGaugeFloat32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricGaugeFloat32Definition

public ArmMetricGaugeFloat32Definition newArmMetricGaugeFloat32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricGroup

public ArmMetricGroup newArmMetricGroup(ArmMetricGroupDefinition groupDefinition, ArmMetric[] metrics)
Creates an ordered set of ArmMetric subclasses ready for binding to transaction objects.

Parameters: groupDefinition metadata object describing the metrics provided through the metrics parameter. metrics an array of ArmMetric objects.

The ordering in the array is important. The array can have up to seven elements and is position-sensitive. To remain consistent with ARM 2.0, any ArmMetric subclass except ArmMetricString32 can be assigned to elements 0:5 and only ArmMetricString32 can be assigned to element 6. The ArmMetricDefinition objects associated with each ArmMetric object must have the exact same values as the ArmMetricDefinition objects associated with the ArmMetricGroupDefinition object (they will often be the same objects, though this is not mandatory).

Any element can be null. If the input array has fewer than seven elements, the rest of the elements are assigned a value of null. The array can be sparsely populated. For example, there can be a non-null ArmMetric reference in element 0 and 6, and null references in elements 1:5.

Returns: a new metric group instance.

newArmMetricGroupDefinition

public ArmMetricGroupDefinition newArmMetricGroupDefinition(ArmMetricDefinition[] definitions)
Creates an ordered set of ArmMetricDefinition subclasses ready for binding to transaction definition objects.

Parameters: definitions An array of ArmMetricDefinition objects.

The ordering in the array is important. The array can have up to seven elements and is position-sensitive. To remain consistent with ARM 2.0, any ArmMetricDefinition subclass except ArmMetricString32Definition can be assigned to elements 0:5 and only ArmMetricString32Definition can be assigned to element 6.

Any element can be null. If the input array has fewer than seven elements, the rest of the elements are assigned a value of null. The array can be sparsely populated. For example, there can be a non-null ArmMetricDefinition reference in element 0 and 6, and null references in elements 1:5.

Returns: a new metadata instance for the metric definition group.

newArmMetricNumericId32

public ArmMetricNumericId32 newArmMetricNumericId32(ArmMetricNumericId32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricNumericId32Definition

public ArmMetricNumericId32Definition newArmMetricNumericId32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricNumericId64

public ArmMetricNumericId64 newArmMetricNumericId64(ArmMetricNumericId64Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricNumericId64Definition

public ArmMetricNumericId64Definition newArmMetricNumericId64Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmMetricString32

public ArmMetricString32 newArmMetricString32(ArmMetricString32Definition definition)
Creates a new metric instance.

Parameters: definition the metadata describing this metric.

Returns: a new metric instance.

newArmMetricString32Definition

public ArmMetricString32Definition newArmMetricString32Definition(ArmApplicationDefinition app, String name, String units, short usage, ArmID id)
Creates a new metadata instance.

Parameters: app metadata about the containing application. name name for this definition. units units descrioption, or null. usage One of METRIC_USE_GENERAL, METRIC_USE_TRAN_SIZE, METRIC_USE_TRAN_STATUS, or an application-specific negative value. id ID provided by the application for this metric definition, or null.

Returns: a new metadata instance for this definition.

newArmTranReportWithMetrics

public ArmTranReportWithMetrics newArmTranReportWithMetrics(ArmApplication app, ArmTransactionWithMetricsDefinition definition, ArmMetricGroup group)
Creates an object that represents an instance of a transaction with an ArmTranReport interface.

Parameters: app instance of the containing application (scope). definition metadata about the transaction. group metrics binding object.

If the metric group reference is null, the resulting ArmTranReportWithMetrics has no metrics, so it would have no more functions than an ArmTranReport object, except to return null to the ArmTranReportWithMetrics method.

Returns: a new transaction instance associated with metrics.

newArmTransactionWithMetrics

public ArmTransactionWithMetrics newArmTransactionWithMetrics(ArmApplication app, ArmTransactionWithMetricsDefinition definition, ArmMetricGroup group)
Creates an object that represents an instance of a transaction.

Parameters: app instance of the containing application (scope). definition metadata about the transaction. group metrics binding object.

If the metric group reference is null, the resulting ArmTranReportWithMetrics has no metrics, so it would have no more functions than an ArmTranReport object, except to return null to the ArmTranReportWithMetrics method.

Returns: a new transaction instance associated with metrics.

newArmTransactionWithMetricsDefinition

public ArmTransactionWithMetricsDefinition newArmTransactionWithMetricsDefinition(ArmApplicationDefinition app, String name, ArmIdentityPropertiesTransaction identityProperties, ArmMetricGroupDefinition definition, ArmID id)
Creates an object that contains the metadata about a transaction. Details about the metadata are found in the ArmTransactionDefinition section. In addition, a binding to a set of metadata about metrics is added via an ArmMetricGroupDefinition object.

Parameters: app metadata about the containing application. name name for this definition. identityProperties an initialized set of identity properties. definition the metric definitions to be used with this transaction. id ID provided by the application for this transaction definition, or null.

Returns: a new metadata instance for a transaction associated with metrics.

setErrorCallback

public boolean setErrorCallback(ArmErrorCallback errorCallback)
Registers an error callback for objects created through this factory. See the error handling philosophy comment in the description of ArmTransactionFactory.

Parameters: errorCallback an application object implementing the ArmErrorCallback> interface.

Returns: true if registration is accepted.

See Also: ArmTransactionFactory