Package org.jboss.netty.handler.ipfilter
Class CIDR
- java.lang.Object
-
- org.jboss.netty.handler.ipfilter.CIDR
-
- All Implemented Interfaces:
Comparable<CIDR>
public abstract class CIDR extends Object implements Comparable<CIDR>
-
-
Field Summary
Fields Modifier and Type Field Description protected 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 abstract boolean
contains(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(Object o)
InetAddress
getBaseAddress()
abstract InetAddress
getEndAddress()
static byte[]
getIpV4FromIpV6(Inet6Address address)
Compute a byte representation of IpV4 from a IpV6static byte[]
getIpV6FromIpV4(Inet4Address address)
Compute a byte representation of IpV6 from a IpV4int
getMask()
int
hashCode()
static CIDR
newCIDR(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(InetAddress baseAddress, int cidrMask)
Create CIDR using the CIDR Notationstatic CIDR
newCIDR(InetAddress baseAddress, String scidrMask)
Create CIDR using the normal NotationString
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Field Detail
-
baseAddress
protected InetAddress baseAddress
The base address of the CIDR notation
-
cidrMask
protected int cidrMask
The mask used in the CIDR notation
-
-
Method Detail
-
newCIDR
public static CIDR newCIDR(InetAddress baseAddress, int cidrMask) throws UnknownHostException
Create CIDR using the CIDR Notation- Returns:
- the generated CIDR
- Throws:
UnknownHostException
-
newCIDR
public static CIDR newCIDR(InetAddress baseAddress, String scidrMask) throws UnknownHostException
Create CIDR using the normal Notation- Returns:
- the generated CIDR
- Throws:
UnknownHostException
-
newCIDR
public static CIDR newCIDR(String cidr) throws 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:
UnknownHostException
-
getBaseAddress
public InetAddress getBaseAddress()
- Returns:
- the baseAddress of the CIDR block.
-
getMask
public int getMask()
- Returns:
- the Mask length.
-
toString
public String toString()
-
getEndAddress
public abstract InetAddress getEndAddress()
- Returns:
- the end address of this block.
-
contains
public abstract boolean contains(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.
-
getIpV4FromIpV6
public static byte[] getIpV4FromIpV6(Inet6Address address)
Compute a byte representation of IpV4 from a IpV6- Returns:
- the byte representation
- Throws:
IllegalArgumentException
- if the IpV6 cannot be mapped to IpV4
-
getIpV6FromIpV4
public static byte[] getIpV6FromIpV4(Inet4Address address)
Compute a byte representation of IpV6 from a IpV4- Returns:
- the byte representation
- Throws:
IllegalArgumentException
- if the IpV6 cannot be mapped to IpV4
-
-