### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.discovery

# Class MetadataAttribute

java.lang.Object
com.sas.services.AbstractServiceAttribute
com.sas.services.discovery.MetadataAttribute

All Implemented Interfaces:
  `ServiceAttributeInterface`, `Serializable`

Direct Known Subclasses:
  `ServiceComponentAttribute`, `ServiceDeploymentAttribute`

@SASScope("ALL") @BinaryCompatibilityOnly public class MetadataAttribute extends AbstractServiceAttribute
A service attribute that denotes membership in a group of software components.

This attribute may be used by a service to define its service discovery configuration which will permit service requesters to find a service that is a member of a particular service group.

Since:
  1.0
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `String`
  `classIdentifier`
  The metadata element's class identifier.
  `String`
  `elementType`
  The metadata element's type (i.e.
  `String`
  `id`
  The metadata element's id (i.e.
  `String`
  `name`
  The metadata element's name.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MetadataAttribute()`
  Constructs a default instance with all attributes unspecified.
  `MetadataAttribute(String attributeID, String attributeName, String attributeElementType, String attributeClassIdentifier)`
  Constructs an instance of an attribute describing a metadata element.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Map<String,String>`
  `getFieldNameToValueMap()`
  Gets a map of this attribute's fields and their values.

  ### Methods inherited from class com.sas.services.AbstractServiceAttribute

  `equals, hashCode, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### elementType

    public String elementType
    The metadata element's type (i.e. "SoftwareComponent", "DeployedComponent") or `null` if unspecified.

  - ### id

    public String id
    The metadata element's id (i.e. "A5K2EL3N.B000000B") or `null` if unspecified.

  - ### name

    public String name
    The metadata element's name.

  - ### classIdentifier

    public String classIdentifier
    The metadata element's class identifier.

- ## Constructor Details

  - ### MetadataAttribute

    public MetadataAttribute()
    Constructs a default instance with all attributes unspecified.

  - ### MetadataAttribute

    public MetadataAttribute(String attributeID, String attributeName, String attributeElementType, String attributeClassIdentifier)
    Constructs an instance of an attribute describing a metadata element. Any values that are not specified should be `null` to indicate a "don't care".
    Parameters:
      `attributeID` - The metadata element's id (i.e. "A5K2EL3N.B000000B") or `null` if unspecified.
      `attributeName` - The metadata element's name or `null` if unspecified.
      `attributeElementType` - The metadata element's type (i.e. "SoftwareComponent", "DeployedComponent") or `null` if unspecified.
      `attributeClassIdentifier` - The metadata element's class identifier.

- ## Method Details

  - ### getFieldNameToValueMap

    public Map<String,String> getFieldNameToValueMap()
    Gets a map of this attribute's fields and their values.
    - classIdentifier
    - elementType
    - id
    - name
    Overrides:
      `getFieldNameToValueMap` in class `AbstractServiceAttribute`
    Returns:
      Map keyed by the `String` names of a field to their values.