Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.opensolaris.os.dtrace
Class InterfaceAttributes

    java.lang.Object
      org.opensolaris.os.dtrace.InterfaceAttributes

All Implemented Interfaces:
  java.io.Serializable

    public final class InterfaceAttributes

extends java.lang.Object
implements java.io.Serializable

Triplet of attributes consisting of two stability levels and a dependency class. Attributes may vary independently. They use labels described in the `attributes(5)` man page to help set expectations for what kinds of changes might occur in different kinds of future releases. The D compiler includes features to dynamically compute the stability levels of D programs you create. For more information, refer to the Stability chapter of the Solaris Dynamic Tracing Guide.

Immutable. Supports persistence using `XMLEncoder`.

See Also:
  `Consumer.getProgramInfo(Program program)`, `Consumer.enable(Program program)`, `Consumer.listProbes(ProbeDescription filter)`, `Consumer.listProgramProbes(Program program)`, Serialized Form

Nested Class Summary
`static class` | `InterfaceAttributes.DependencyClass` Architectural dependency class.
`static class` | `InterfaceAttributes.Stability` Interface stability level.

Constructor Summary
`InterfaceAttributes(InterfaceAttributes.Stability nameStabilityAttribute, InterfaceAttributes.Stability dataStabilityAttribute, InterfaceAttributes.DependencyClass dependencyClassAttribute)` Creates an interface attribute triplet from the given attributes.
`InterfaceAttributes(java.lang.String nameStabilityAttributeName, java.lang.String dataStabilityAttributeName, java.lang.String dependencyClassAttributeName)` Creates an interface attribute triplet from the given attribute names.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compares the specified object with this attribute triplet for equality.
`InterfaceAttributes.Stability` | `getDataStability()` Gets the stability level of the data format used by an interface and any associated data semantics.
`InterfaceAttributes.DependencyClass` | `getDependencyClass()` Gets the interface dependency class.
`InterfaceAttributes.Stability` | `getNameStability()` Gets the stabiltiy level of an interface associated with its name as it appears in a D program.
`int` | `hashCode()` Overridden to ensure that equal `InterfaceAttributes` instances have equal hashcodes.
`java.lang.String` | `toString()` Gets the string representation of this triplet of interface attributes.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### InterfaceAttributes

    public InterfaceAttributes(InterfaceAttributes.Stability nameStabilityAttribute,
                               InterfaceAttributes.Stability dataStabilityAttribute,
                               InterfaceAttributes.DependencyClass dependencyClassAttribute)

  Creates an interface attribute triplet from the given attributes.

  Parameters:
    `nameStabilityAttribute` - the stability level of the interface associated with its name in a D program
    `dataStabilityAttribute` - stability of the data format used by the interface and any associated data semantics
    `dependencyClassAttribute` - describes whether the interface is specific to the current operating platform or microprocessor
  Throws:
    `java.lang.NullPointerException` - if any parameter is `null`

### InterfaceAttributes

    public InterfaceAttributes(java.lang.String nameStabilityAttributeName,
                               java.lang.String dataStabilityAttributeName,
                               java.lang.String dependencyClassAttributeName)

  Creates an interface attribute triplet from the given attribute names. Supports XML persistence.

  Throws:
    `java.lang.NullPointerException` - if any parameter is `null`
    `java.lang.IllegalArgumentException` - if any parameter fails to match an enumerated stability value

Method Detail

### getNameStability

    public InterfaceAttributes.Stability getNameStability()

  Gets the stabiltiy level of an interface associated with its name as it appears in a D program. For example, the `execname` D variable is a `STABLE` name: Sun guarantees this identifier will continue to be supported in D programs according to the rules described for Stable interfaces.

  Returns:
    the stability level of an interface associated with its name as it appears in a D program

### getDataStability

    public InterfaceAttributes.Stability getDataStability()

  Gets the stability level of the data format used by an interface and any associated data semantics. For example, the `pid` D variable is a `STABLE` interface: process IDs are a stable concept in Solaris, and Sun guarantees that the `pid` variable will be of type `pid_t` with the semantic that it is set to the process ID corresponding to the thread that fired a given probe in accordance with the rules described for Stable interfaces.

  Returns:
    the stability level of the data format used by an interface and any associated data semantics.

### getDependencyClass

    public InterfaceAttributes.DependencyClass getDependencyClass()

  Gets the interface dependency class.

  Returns:
    the dependency class describing whether the interface is specific to the current operating platform or microprocessor

### equals

    public boolean equals(java.lang.Object o)

  Compares the specified object with this attribute triplet for equality. Defines equality as having the same attributes.

  Overrides:
    `equals` in class `java.lang.Object`
  Returns:
    `true` if and only if the specified object is also an `InterfaceAttributes` instance and has all the same attributes as this instance.

### hashCode

    public int hashCode()

  Overridden to ensure that equal `InterfaceAttributes` instances have equal hashcodes.

  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Gets the string representation of this triplet of interface attributes. The format follows the convention described in the Interface Attributes section of the Stability chapter of the Solaris Dynamic Tracing Guide. The attributes appear in the following order, separated by slashes:

       name-stability / data-stability / dependency-class

  Overrides:
    `toString` in class `java.lang.Object`

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD