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

  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 Details

  - ### AbstractDNSToSwitchMapping

    protected AbstractDNSToSwitchMapping()
    Create an unconfigured instance.

- ## Method Details

  - ### 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.