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

      public class IpV4Subnet
      extends Object
      implements IpSet, Comparable<IpV4Subnet>

  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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IpV4Subnet()` Create IpV4Subnet for ALL (used for ALLOW or DENY ALL)
    `IpV4Subnet(InetAddress inetAddress, int cidrNetMask)` Create IpV4Subnet using the CIDR Notation
    `IpV4Subnet(InetAddress inetAddress, String netMask)` Create IpV4Subnet using the normal Notation
    `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");

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(IpV4Subnet o)` Compare two IpV4Subnet
    `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` | `contains(String ipAddr)` 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` | `equals(Object o)`
    `int` | `hashCode()`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### IpV4Subnet

          public IpV4Subnet()

      Create IpV4Subnet for ALL (used for ALLOW or DENY ALL)

    - #### IpV4Subnet

          public IpV4Subnet(String netAddress)
                     throws UnknownHostException

      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

          public IpV4Subnet(InetAddress inetAddress,
                    int cidrNetMask)

      Create IpV4Subnet using the CIDR Notation

    - #### IpV4Subnet

          public IpV4Subnet(InetAddress inetAddress,
                    String netMask)

      Create IpV4Subnet using the normal Notation

  - ### Method Detail

    - #### contains

          public boolean contains(String ipAddr)
                           throws UnknownHostException

      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

          public 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.
      Specified by:
        `contains` in interface `IpSet`
      Returns:
        returns true if the given IP address is inside the currently set network.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### compareTo

          public int compareTo(IpV4Subnet o)

      Compare two IpV4Subnet
      Specified by:
        `compareTo` in interface `Comparable<IpV4Subnet>`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.