Package org.apache.catalina.util

## Class NetMaskSet

- java.lang.Object
- - org.apache.catalina.util.NetMaskSet

-     public class NetMaskSet
      extends java.lang.Object

  This class maintains a Set of NetMask objects and allows to check if a given IP address is matched by any of the NetMasks, making it easy to create Allow and Deny lists of CIDR networks and hosts.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NetMaskSet()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `add​(java.lang.String input)` | Creates a NetMask object from the input string and adds it to the set.
    `boolean` | `add​(NetMask netmask)` | Adds a NetMask object to the set if the set does not contain it
    `java.util.List<java.lang.String>` | `addAll​(java.lang.String input)` | Adds a `NetMask` list from a string input containing a comma-separated list of (hopefully valid) `NetMask`s.
    `void` | `clear()` | removes all entries from the set
    `boolean` | `contains​(java.lang.String ipAddress)` | Tests if the provided IP address matches any of the `NetMask`s in the set.
    `boolean` | `contains​(java.net.InetAddress inetAddress)` | Tests if the provided InetAddress matches any of the `NetMask`s in the set.
    `boolean` | `isEmpty()` | Tests if the set is empty.
    `java.lang.String` | `toString()` | Provides a string representation of this NetMaskSet.

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

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

- - ### Constructor Detail

    - #### NetMaskSet

          public NetMaskSet()

  - ### Method Detail

    - #### contains

          public boolean contains​(java.net.InetAddress inetAddress)

      Tests if the provided InetAddress matches any of the `NetMask`s in the set.
      Parameters:
        `inetAddress` - An InetAddress to check
      Returns:
        `true` if the passed inetAddress is matched by any of the `NetMask`s in the set

    - #### contains

          public boolean contains​(java.lang.String ipAddress)
                           throws java.net.UnknownHostException

      Tests if the provided IP address matches any of the `NetMask`s in the set.
      Parameters:
        `ipAddress` - an IP address to check
      Returns:
        `true` if the passed IP address is matched by any of the `NetMask`s in the set
      Throws:
        `java.net.UnknownHostException` - if the passed input is not a valid IP address

    - #### add

          public boolean add​(NetMask netmask)

      Adds a NetMask object to the set if the set does not contain it
      Parameters:
        `netmask` - The NetMask to add
      Returns:
        true if the object was added

    - #### add

          public boolean add​(java.lang.String input)

      Creates a NetMask object from the input string and adds it to the set.
      Parameters:
        `input` - The string from which to construct the NetMask
      Returns:
        true if the object was added
      Throws:
        `java.lang.IllegalArgumentException` - if the input is not a valid CIDR format.

    - #### clear

          public void clear()

      removes all entries from the set

    - #### isEmpty

          public boolean isEmpty()

      Tests if the set is empty.
      Returns:
        `true` if the set is empty, otherwise `false`

    - #### addAll

          public java.util.List<java.lang.String> addAll​(java.lang.String input)

      Adds a `NetMask` list from a string input containing a comma-separated list of (hopefully valid) `NetMask`s.
      Parameters:
        `input` - The input string
      Returns:
        a list of processing error messages (empty when no errors)

    - #### toString

          public java.lang.String toString()

      Provides a string representation of this NetMaskSet. The format of the String is not guaranteed to remain fixed.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        a comma separated list of the `NetMask`s in this set