Class NetMaskSet

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

public class NetMaskSet extends 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 Details

    • NetMaskSet

      public NetMaskSet()
  • Method Details

    • contains

      public boolean contains(InetAddress inetAddress)
      Tests if the provided InetAddress matches any of the NetMasks in the set.
      Parameters:
      inetAddress - An InetAddress to check
      Returns:
      true if the passed inetAddress is matched by any of the NetMasks in the set
    • contains

      public boolean contains(String ipAddress) throws UnknownHostException
      Tests if the provided IP address matches any of the NetMasks in the set.
      Parameters:
      ipAddress - an IP address to check
      Returns:
      true if the passed IP address is matched by any of the NetMasks in the set
      Throws:
      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(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:
      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 List<String> addAll(String input)
      Adds a NetMask list from a string input containing a comma-separated list of (hopefully valid) NetMasks.
      Parameters:
      input - The input string
      Returns:
      a list of processing error messages (empty when no errors)
    • toString

      public String toString()
      Provides a string representation of this NetMaskSet. The format of the String is not guaranteed to remain fixed.
      Overrides:
      toString in class Object
      Returns:
      a comma separated list of the NetMasks in this set