org.opengroup.arm40.transaction
Interface ArmApplicationDefinition
- All Superinterfaces:
- ArmInterface
- All Known Implementing Classes:
- ArmApplicationDefinition
public interface ArmApplicationDefinition
- extends ArmInterface
Describes the attributes of an application that do not change from one
instance of the application to another.
This provides an anchor point for associating
ArmTransactionDefinition
and ArmMetricDefinition
objects with the application.
It has the following attributes, all of which are immutable:
-
Name. The maximum length is 127 characters (CIM allows
256 but ARM 4.0 C Bindings allow 128 characters, including the
null-termination character, so 127 is used). The name must not be
null
or zero-length. A name should be chosen that is unique,
so generic names that might be used by a different development team,
such as "Payroll Application", should not be used. Names should not
contain trailing blank characters or consist of only blank characters.
-
(optional) Identity property names and values and
context property names in arrays. See the discussion of
identity and context property names in
ArmIdentityProperties
.
-
(optional) ID. An optional 16-byte ID may be associated with
the identity of an application definition. The returned value, which
could be
null
, is the same value passed to
ArmTransactionFactory.newArmApplicationDefinition(java.lang.String, org.opengroup.arm40.transaction.ArmIdentityProperties, org.opengroup.arm40.transaction.ArmID)
. The ID
value is bound to a unique combination of the application name,
any identity property names and values, and any context property names.
When provided, the ID may be used as a concise alias for the unique
combination. It may be null
.
destroy()
does not, of course, destroy the
ArmApplicationDefinition
object. It does signal to the
ARM implementation that the definition and all related definitions
(e.g., ArmTransactionDefinition
) within its scope are
no longer needed. The normal behavior would be for the ARM implementation
to release its references to all those objects. If the application also
releases its references, the objects would be eligible for garbage
collection. After destroy()
is called, no method on any
object that is scoped by the ArmApplicationDefinition
should
be called again. If a method is called, the results are unpredictable.
Objects implementing this interface are created using
ArmTransactionFactory.newArmApplicationDefinition(java.lang.String, org.opengroup.arm40.transaction.ArmIdentityProperties, org.opengroup.arm40.transaction.ArmID)
.
- Author:
- ARM Working Group of The Open Group
destroy
void destroy()
- Signal to the ARM implementation that the definition and all related
definitions within its scope are no longer needed.
getName
java.lang.String getName()
- Returns:
- the name of this application.
getIdentityProperties
ArmIdentityProperties getIdentityProperties()
- Returns:
- an object describing the identity property metadata
associated with this application, or
null
.
See the discussion in ArmIdentityProperties
.
getID
ArmID getID()
- Returns:
- a 16-byte ID associated with the identity of this
application definition, or
null
.