Package org.apache.storm.networktopography

## Class AbstractDNSToSwitchMapping

- java.lang.Object
- - org.apache.storm.networktopography.AbstractDNSToSwitchMapping

- All Implemented Interfaces:
    `DNSToSwitchMapping`
  Direct Known Subclasses:
    `AlternateRackDNSToSwitchMapping`, `DefaultRackDNSToSwitchMapping`

      public abstract class AbstractDNSToSwitchMapping
      extends Object
      implements DNSToSwitchMapping

  This is a base class for DNS to Switch mappings.

  It is not mandatory to derive `DNSToSwitchMapping` implementations from it, but it is strongly recommended, as it makes it easy for the developers to add new methods to this base class that are automatically picked up by all implementations.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.storm.networktopography.DNSToSwitchMapping

      `DEFAULT_RACK`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractDNSToSwitchMapping()` | Create an unconfigured instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `dumpTopology()` | Generate a string listing the switch mapping implementation, the mapping for every known node and the number of nodes and unique switches known about -each entry to a separate line.
    `Map<String,​String>` | `getSwitchMap()` | Get a copy of the map (for diagnostics).
    `boolean` | `isSingleSwitch()` | Predicate that indicates that the switch mapping is known to be single-switch.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.storm.networktopography.DNSToSwitchMapping

      `resolve`

- - ### Constructor Detail

    - #### AbstractDNSToSwitchMapping

          protected AbstractDNSToSwitchMapping()

      Create an unconfigured instance.

  - ### Method Detail

    - #### isSingleSwitch

          public boolean isSingleSwitch()

      Predicate that indicates that the switch mapping is known to be single-switch. The base class returns false: it assumes all mappings are multi-rack. Subclasses may override this with methods that are more aware of their topologies.
      Returns:
        true if the mapping thinks that it is on a single switch

    - #### getSwitchMap

          public Map<String,​String> getSwitchMap()

      Get a copy of the map (for diagnostics).
      Returns:
        a clone of the map or null for none known

    - #### dumpTopology

          public String dumpTopology()

      Generate a string listing the switch mapping implementation, the mapping for every known node and the number of nodes and unique switches known about -each entry to a separate line.
      Returns:
        a string that can be presented to the ops team or used in debug messages.