Package org.apache.catalina.util
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 Summary
Constructors Constructor Description NetMaskSet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(String input)Creates a NetMask object from the input string and adds it to the set.booleanadd(NetMask netmask)Adds a NetMask object to the set if the set does not contain itList<String>addAll(String input)voidclear()removes all entries from the setbooleancontains(String ipAddress)Tests if the provided IP address matches any of theNetMasks in the set.booleancontains(InetAddress inetAddress)Tests if the provided InetAddress matches any of theNetMasks in the set.booleanisEmpty()Tests if the set is empty.StringtoString()Provides a string representation of this NetMaskSet.
-
-
-
Method Detail
-
contains
public boolean contains(InetAddress inetAddress)
Tests if the provided InetAddress matches any of theNetMasks in the set.- Parameters:
inetAddress- An InetAddress to check- Returns:
trueif the passed inetAddress is matched by any of theNetMasks in the set
-
contains
public boolean contains(String ipAddress) throws UnknownHostException
Tests if the provided IP address matches any of theNetMasks in the set.- Parameters:
ipAddress- an IP address to check- Returns:
trueif the passed IP address is matched by any of theNetMasks 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:
trueif the set is empty, otherwisefalse
-
addAll
public List<String> addAll(String input)
Adds aNetMasklist 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)
-
-