Package org.jboss.netty.handler.ipfilter
Class IpSubnet
java.lang.Object
org.jboss.netty.handler.ipfilter.IpSubnet
- All Implemented Interfaces:
Comparable<IpSubnet>,IpSet
- Direct Known Subclasses:
IpSubnetFilterRule
This class allows to check if an IP V4 or V6 Address is contained in a subnet.
Supported IP V4 Formats for the Subnets are: 1.1.1.1/255.255.255.255 or 1.1.1.1/32 (CIDR-Notation) and (InetAddress,Mask) where Mask is a integer for CIDR-notation or a String for Standard Mask notation.
Example1:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/24");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, 24);
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Example2:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/255.255.255.0");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example2 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, "255.255.255.0");
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Supported IP V6 Formats for the Subnets are: a:b:c:d:e:f:g:h/NN (CIDR-Notation) or any IPV6 notations (like a:b:c:d::/NN, a:b:c:d:e:f:w.x.y.z/NN) and (InetAddress,Mask) where Mask is a integer for CIDR-notation and (InetAddress,subnet).
Example1:
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3::/24");
System.out.println("Result: "+ ips.contains("1fff:0:0a88:85a3:0:0:ac1f:8001"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpSubnet ips = new IpSubnet(inetAddress, 24);
where inetAddress2 is 1fff:0:0a88:85a3:0:0:ac1f:8001
Supported IP V4 Formats for the Subnets are: 1.1.1.1/255.255.255.255 or 1.1.1.1/32 (CIDR-Notation) and (InetAddress,Mask) where Mask is a integer for CIDR-notation or a String for Standard Mask notation.
Example1:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/24");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, 24);
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Example2:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/255.255.255.0");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example2 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, "255.255.255.0");
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Supported IP V6 Formats for the Subnets are: a:b:c:d:e:f:g:h/NN (CIDR-Notation) or any IPV6 notations (like a:b:c:d::/NN, a:b:c:d:e:f:w.x.y.z/NN) and (InetAddress,Mask) where Mask is a integer for CIDR-notation and (InetAddress,subnet).
Example1:
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3::/24");
System.out.println("Result: "+ ips.contains("1fff:0:0a88:85a3:0:0:ac1f:8001"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpSubnet ips = new IpSubnet(inetAddress, 24);
where inetAddress2 is 1fff:0:0a88:85a3:0:0:ac1f:8001
-
Constructor Summary
ConstructorsConstructorDescriptionIpSubnet()Create IpSubnet for ALL (used for ALLOW or DENY ALL)Create IpSubnet using the CIDR or normal Notation
i.eIpSubnet(InetAddress inetAddress, int cidrNetMask) Create IpSubnet using the CIDR NotationIpSubnet(InetAddress inetAddress, String netMask) Create IpSubnet using the normal Notation -
Method Summary
Modifier and TypeMethodDescriptionintCompare two IpSubnetbooleanCompares the given IP-Address against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.booleancontains(InetAddress inetAddress) Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.booleaninthashCode()toString()
-
Constructor Details
-
IpSubnet
public IpSubnet()Create IpSubnet for ALL (used for ALLOW or DENY ALL) -
IpSubnet
Create IpSubnet using the CIDR or normal Notation
i.e.:
IpSubnet subnet = new IpSubnet("10.10.10.0/24"); or
IpSubnet subnet = new IpSubnet("10.10.10.0/255.255.255.0"); or
IpSubnet subnet = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");- Parameters:
netAddress- a network address as string.- Throws:
UnknownHostException
-
IpSubnet
Create IpSubnet using the CIDR Notation- Throws:
UnknownHostException
-
IpSubnet
Create IpSubnet using the normal Notation- Throws:
UnknownHostException
-
-
Method Details
-
contains
Compares the given IP-Address against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.- Parameters:
ipAddr- an ipaddress- Returns:
- returns true if the given IP address is inside the currently set network.
- Throws:
UnknownHostException
-
contains
Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not. -
toString
-
equals
-
hashCode
public int hashCode() -
compareTo
Compare two IpSubnet- Specified by:
compareToin interfaceComparable<IpSubnet>
-