Package org.jboss.netty.handler.ipfilter
Class CIDR
- java.lang.Object
-
- org.jboss.netty.handler.ipfilter.CIDR
-
-
Field Summary
Fields Modifier and Type Field Description protected java.net.InetAddress
baseAddress
The base address of the CIDR notationprotected int
cidrMask
The mask used in the CIDR notation
-
Constructor Summary
Constructors Constructor Description CIDR()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static java.net.InetAddress
addressStringToInet(java.lang.String addr)
Convert an IPv4 or IPv6 textual representation into an InetAddress.abstract boolean
contains(java.net.InetAddress inetAddress)
Compares the given InetAddress against the CIDR and returns true if the ip is in the subnet-ip-range and false if not.boolean
equals(java.lang.Object o)
java.net.InetAddress
getBaseAddress()
abstract java.net.InetAddress
getEndAddress()
static byte[]
getIpV4FromIpV6(java.net.Inet6Address address)
Compute a byte representation of IpV4 from a IpV6static byte[]
getIpV6FromIpV4(java.net.Inet4Address address)
Compute a byte representation of IpV6 from a IpV4int
getMask()
private static int
getNetMask(java.lang.String netMask)
Get the Subnet's Netmask in Decimal format.
i.e.: getNetMask("255.255.255.0") returns the integer CIDR maskint
hashCode()
static CIDR
newCIDR(java.lang.String cidr)
Create CIDR using the CIDR or normal Notation
i.e.: CIDR subnet = newCIDR ("10.10.10.0/24"); or CIDR subnet = newCIDR ("1fff:0:0a88:85a3:0:0:ac1f:8001/24"); or CIDR subnet = newCIDR ("10.10.10.0/255.255.255.0");static CIDR
newCIDR(java.net.InetAddress baseAddress, int cidrMask)
Create CIDR using the CIDR Notationstatic CIDR
newCIDR(java.net.InetAddress baseAddress, java.lang.String scidrMask)
Create CIDR using the normal Notationprivate static int
parseInt(java.lang.String intstr, int def)
java.lang.String
toString()
-
-
-
Method Detail
-
newCIDR
public static CIDR newCIDR(java.net.InetAddress baseAddress, int cidrMask) throws java.net.UnknownHostException
Create CIDR using the CIDR Notation- Returns:
- the generated CIDR
- Throws:
java.net.UnknownHostException
-
newCIDR
public static CIDR newCIDR(java.net.InetAddress baseAddress, java.lang.String scidrMask) throws java.net.UnknownHostException
Create CIDR using the normal Notation- Returns:
- the generated CIDR
- Throws:
java.net.UnknownHostException
-
newCIDR
public static CIDR newCIDR(java.lang.String cidr) throws java.net.UnknownHostException
Create CIDR using the CIDR or normal Notation
i.e.: CIDR subnet = newCIDR ("10.10.10.0/24"); or CIDR subnet = newCIDR ("1fff:0:0a88:85a3:0:0:ac1f:8001/24"); or CIDR subnet = newCIDR ("10.10.10.0/255.255.255.0");- Returns:
- the generated CIDR
- Throws:
java.net.UnknownHostException
-
getBaseAddress
public java.net.InetAddress getBaseAddress()
- Returns:
- the baseAddress of the CIDR block.
-
getMask
public int getMask()
- Returns:
- the Mask length.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- Returns:
- the textual CIDR notation.
-
getEndAddress
public abstract java.net.InetAddress getEndAddress()
- Returns:
- the end address of this block.
-
contains
public abstract boolean contains(java.net.InetAddress inetAddress)
Compares the given InetAddress against the CIDR and returns true if the ip is in the subnet-ip-range and false if not.- Returns:
- returns true if the given IP address is inside the currently set network.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
addressStringToInet
private static java.net.InetAddress addressStringToInet(java.lang.String addr) throws java.net.UnknownHostException
Convert an IPv4 or IPv6 textual representation into an InetAddress.- Returns:
- the created InetAddress
- Throws:
java.net.UnknownHostException
-
getNetMask
private static int getNetMask(java.lang.String netMask)
Get the Subnet's Netmask in Decimal format.
i.e.: getNetMask("255.255.255.0") returns the integer CIDR mask- Parameters:
netMask
- a network mask- Returns:
- the integer CIDR mask
-
parseInt
private static int parseInt(java.lang.String intstr, int def)
- Parameters:
intstr
- a string containing an integer.def
- the default if the string does not contain a valid integer.- Returns:
- the inetAddress from the integer
-
getIpV4FromIpV6
public static byte[] getIpV4FromIpV6(java.net.Inet6Address address)
Compute a byte representation of IpV4 from a IpV6- Returns:
- the byte representation
- Throws:
java.lang.IllegalArgumentException
- if the IpV6 cannot be mapped to IpV4
-
getIpV6FromIpV4
public static byte[] getIpV6FromIpV4(java.net.Inet4Address address)
Compute a byte representation of IpV6 from a IpV4- Returns:
- the byte representation
- Throws:
java.lang.IllegalArgumentException
- if the IpV6 cannot be mapped to IpV4
-
-