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 boolean
add(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 itList<String>
addAll(String input)
void
clear()
removes all entries from the setboolean
contains(String ipAddress)
Tests if the provided IP address matches any of theNetMask
s in the set.boolean
contains(InetAddress inetAddress)
Tests if the provided InetAddress matches any of theNetMask
s in the set.boolean
isEmpty()
Tests if the set is empty.String
toString()
Provides a string representation of this NetMaskSet.
-
-
-
Method Detail
-
contains
public boolean contains(InetAddress inetAddress)
Tests if the provided InetAddress matches any of theNetMask
s in the set.- Parameters:
inetAddress
- An InetAddress to check- Returns:
true
if the passed inetAddress is matched by any of theNetMask
s in the set
-
contains
public boolean contains(String ipAddress) throws UnknownHostException
Tests if the provided IP address matches any of theNetMask
s in the set.- Parameters:
ipAddress
- an IP address to check- Returns:
true
if the passed IP address is matched by any of theNetMask
s 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, otherwisefalse
-
addAll
public List<String> addAll(String input)
Adds aNetMask
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)
-
-