Package org.jboss.netty.handler.ipfilter
Class IpV4Subnet
java.lang.Object
org.jboss.netty.handler.ipfilter.IpV4Subnet
- All Implemented Interfaces:
Comparable<IpV4Subnet>
,IpSet
- Direct Known Subclasses:
IpV4SubnetFilterRule
This class allows to check if an IP-V4-Address is contained in a subnet.
Supported 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 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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private InetAddress
private int
private int
private static final int
-
Constructor Summary
ConstructorsConstructorDescriptionCreate IpV4Subnet for ALL (used for ALLOW or DENY ALL)IpV4Subnet
(String netAddress) Create IpV4Subnet using the CIDR or normal Notation
i.e.: IpV4Subnet subnet = new IpV4Subnet("10.10.10.0/24"); or IpV4Subnet subnet = new IpV4Subnet("10.10.10.0/255.255.255.0");IpV4Subnet
(InetAddress inetAddress, int cidrNetMask) Create IpV4Subnet using the CIDR NotationIpV4Subnet
(InetAddress inetAddress, String netMask) Create IpV4Subnet using the normal Notation -
Method Summary
Modifier and TypeMethodDescriptionint
Compare two IpV4Subnetboolean
Compares the given IP-Address against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.boolean
contains
(InetAddress inetAddress1) Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.boolean
int
hashCode()
private void
setCidrNetMask
(int cidrNetMask) Sets the CIDR Netmask
i.e.: setCidrNetMask(24);private void
setNetAddress
(String netAddress) Sets the Network Address in either CIDR or Decimal Notation.
i.e.: setNetAddress("1.1.1.1/24"); or
setNetAddress("1.1.1.1/255.255.255.0");private void
setNetAddress
(InetAddress inetAddress, int cidrNetMask) Sets the Network Address in CIDR Notation.private void
setNetAddress
(InetAddress inetAddress, String netMask) Sets the Network Address in Decimal Notation.private void
Sets the BaseAdress of the Subnet.
i.e.: setNetId("192.168.1.0");private void
setNetId
(InetAddress inetAddress) Sets the BaseAdress of the Subnet.private void
setNetMask
(String netMask) Sets the Subnet's Netmask in Decimal format.
i.e.: setNetMask("255.255.255.0");private static int
toInt
(InetAddress inetAddress1) Compute integer representation of InetAddresstoString()
-
Field Details
-
SUBNET_MASK
private static final int SUBNET_MASK- See Also:
-
inetAddress
-
subnet
private int subnet -
mask
private int mask -
cidrMask
private int cidrMask
-
-
Constructor Details
-
IpV4Subnet
public IpV4Subnet()Create IpV4Subnet for ALL (used for ALLOW or DENY ALL) -
IpV4Subnet
Create IpV4Subnet using the CIDR or normal Notation
i.e.: IpV4Subnet subnet = new IpV4Subnet("10.10.10.0/24"); or IpV4Subnet subnet = new IpV4Subnet("10.10.10.0/255.255.255.0");- Parameters:
netAddress
- a network address as string.- Throws:
UnknownHostException
-
IpV4Subnet
Create IpV4Subnet using the CIDR Notation -
IpV4Subnet
Create IpV4Subnet using the normal Notation
-
-
Method Details
-
setNetAddress
Sets the Network Address in either CIDR or Decimal Notation.
i.e.: setNetAddress("1.1.1.1/24"); or
setNetAddress("1.1.1.1/255.255.255.0");- Parameters:
netAddress
- a network address as string.- Throws:
UnknownHostException
-
setNetAddress
Sets the Network Address in CIDR Notation. -
setNetAddress
Sets the Network Address in Decimal Notation. -
setNetId
Sets the BaseAdress of the Subnet.
i.e.: setNetId("192.168.1.0");- Parameters:
netId
- a network ID- Throws:
UnknownHostException
-
toInt
Compute integer representation of InetAddress- Returns:
- the integer representation
-
setNetId
Sets the BaseAdress of the Subnet. -
setNetMask
Sets the Subnet's Netmask in Decimal format.
i.e.: setNetMask("255.255.255.0");- Parameters:
netMask
- a network mask
-
setCidrNetMask
private void setCidrNetMask(int cidrNetMask) Sets the CIDR Netmask
i.e.: setCidrNetMask(24);- Parameters:
cidrNetMask
- a netmask in CIDR notation
-
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 IpV4Subnet- Specified by:
compareTo
in interfaceComparable<IpV4Subnet>
-