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 intprivate InetAddressprivate intprivate intprivate 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 TypeMethodDescriptionintCompare two IpV4SubnetbooleanCompares 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 inetAddress1) Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.booleaninthashCode()private voidsetCidrNetMask(int cidrNetMask) Sets the CIDR Netmask
i.e.: setCidrNetMask(24);private voidsetNetAddress(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 voidsetNetAddress(InetAddress inetAddress, int cidrNetMask) Sets the Network Address in CIDR Notation.private voidsetNetAddress(InetAddress inetAddress, String netMask) Sets the Network Address in Decimal Notation.private voidSets the BaseAdress of the Subnet.
i.e.: setNetId("192.168.1.0");private voidsetNetId(InetAddress inetAddress) Sets the BaseAdress of the Subnet.private voidsetNetMask(String netMask) Sets the Subnet's Netmask in Decimal format.
i.e.: setNetMask("255.255.255.0");private static inttoInt(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
-
compareTo
Compare two IpV4Subnet- Specified by:
compareToin interfaceComparable<IpV4Subnet>
-