Class DomainNameMappingBuilder.ImmutableDomainNameMapping<V>

java.lang.Object
io.netty.util.DomainNameMapping<V>
io.netty.util.DomainNameMappingBuilder.ImmutableDomainNameMapping<V>
Type Parameters:
V - concrete type of value objects
All Implemented Interfaces:
Mapping<java.lang.String, V>
Enclosing class:
DomainNameMappingBuilder<V>

private static final class DomainNameMappingBuilder.ImmutableDomainNameMapping<V> extends DomainNameMapping<V>
Immutable mapping from domain name pattern to its associated value object. Mapping is represented by two arrays: keys and values. Key domainNamePatterns[i] is associated with values[i].
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final java.lang.String[]
     
    private final java.util.Map<java.lang.String, V>
     
    private static final int
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private final V[]
     

    Fields inherited from class DomainNameMapping

    defaultValue
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    ImmutableDomainNameMapping(V defaultValue, java.util.Map<java.lang.String, V> map)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    add(java.lang.String hostname, V output)
    Deprecated.
    private java.lang.StringBuilder
    appendMapping(java.lang.StringBuilder sb, int mappingIndex)
     
    private static java.lang.StringBuilder
    appendMapping(java.lang.StringBuilder sb, java.lang.String domainNamePattern, java.lang.String value)
     
    java.util.Map<java.lang.String, V>
    Returns a read-only Map of the domain mapping patterns and their associated value objects.
    private static int
    estimateBufferSize(int defaultValueLength, int numberOfMappings, int estimatedMappingLength)
    Estimates the length of string representation of the given instance: est = lengthOfConstantComponents + defaultValueLength + (estimatedMappingLength * numOfMappings) * 1.10
    map(java.lang.String hostname)
    Returns mapped value of the specified input.
    java.lang.String
     

    Methods inherited from class DomainNameMapping

    matches, normalizeHostname

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • REPR_HEADER

      private static final java.lang.String REPR_HEADER
      See Also:
    • REPR_MAP_OPENING

      private static final java.lang.String REPR_MAP_OPENING
      See Also:
    • REPR_MAP_CLOSING

      private static final java.lang.String REPR_MAP_CLOSING
      See Also:
    • REPR_CONST_PART_LENGTH

      private static final int REPR_CONST_PART_LENGTH
    • domainNamePatterns

      private final java.lang.String[] domainNamePatterns
    • values

      private final V[] values
    • map

      private final java.util.Map<java.lang.String, V> map
  • Constructor Details

    • ImmutableDomainNameMapping

      private ImmutableDomainNameMapping(V defaultValue, java.util.Map<java.lang.String, V> map)
  • Method Details

    • add

      @Deprecated public DomainNameMapping<V> add(java.lang.String hostname, V output)
      Deprecated.
      Description copied from class: DomainNameMapping
      Adds a mapping that maps the specified (optionally wildcard) host name to the specified output value.

      DNS wildcard is supported as hostname. For example, you can use *.netty.io to match netty.io and downloads.netty.io.

      Overrides:
      add in class DomainNameMapping<V>
      Parameters:
      hostname - the host name (optionally wildcard)
      output - the output value that will be returned by DomainNameMapping.map(String) when the specified host name matches the specified input host name
    • map

      public V map(java.lang.String hostname)
      Description copied from interface: Mapping
      Returns mapped value of the specified input.
      Specified by:
      map in interface Mapping<java.lang.String, V>
      Overrides:
      map in class DomainNameMapping<V>
    • asMap

      public java.util.Map<java.lang.String, V> asMap()
      Description copied from class: DomainNameMapping
      Returns a read-only Map of the domain mapping patterns and their associated value objects.
      Overrides:
      asMap in class DomainNameMapping<V>
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class DomainNameMapping<V>
    • estimateBufferSize

      private static int estimateBufferSize(int defaultValueLength, int numberOfMappings, int estimatedMappingLength)
      Estimates the length of string representation of the given instance: est = lengthOfConstantComponents + defaultValueLength + (estimatedMappingLength * numOfMappings) * 1.10
      Parameters:
      defaultValueLength - length of string representation of DomainNameMappingBuilder.defaultValue
      numberOfMappings - number of mappings the given instance holds, e.g.
      invalid @link
      {@link #domainNamePatterns#length
      }
      estimatedMappingLength - estimated size taken by one mapping
      Returns:
      estimated length of string returned by toString()
    • appendMapping

      private java.lang.StringBuilder appendMapping(java.lang.StringBuilder sb, int mappingIndex)
    • appendMapping

      private static java.lang.StringBuilder appendMapping(java.lang.StringBuilder sb, java.lang.String domainNamePattern, java.lang.String value)