org.apache.commons.net.util

## Class SubnetUtils

- java.lang.Object
- - org.apache.commons.net.util.SubnetUtils

-     public class SubnetUtils
      extends Object

  A class that performs some subnet calculations given a network address and a subnet mask.
  Since:
    2.0
  See Also:
    "http://www.faqs.org/rfcs/rfc1519.html"

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SubnetUtils.SubnetInfo` Convenience container for subnet summary information.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubnetUtils(String cidrNotation)` Constructor that takes a CIDR-notation string, e.g.
    `SubnetUtils(String address, String mask)` Constructor that takes a dotted decimal address and a dotted decimal mask.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SubnetUtils.SubnetInfo` | `getInfo()` Return a `SubnetUtils.SubnetInfo` instance that contains subnet-specific statistics
    `SubnetUtils` | `getNext()`
    `SubnetUtils` | `getPrevious()`
    `boolean` | `isInclusiveHostCount()` Returns `true` if the return value of `SubnetUtils.SubnetInfo.getAddressCount()` includes the network and broadcast addresses.
    `void` | `setInclusiveHostCount(boolean inclusiveHostCount)` Set to `true` if you want the return value of `SubnetUtils.SubnetInfo.getAddressCount()` to include the network and broadcast addresses.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SubnetUtils

          public SubnetUtils(String cidrNotation)

      Constructor that takes a CIDR-notation string, e.g. "192.168.0.1/16"
      Parameters:
        `cidrNotation` - A CIDR-notation string, e.g. "192.168.0.1/16"
      Throws:
        `IllegalArgumentException` - if the parameter is invalid, i.e. does not match n.n.n.n/m where n=1-3 decimal digits, m = 1-2 decimal digits in range 0-32

    - #### SubnetUtils

          public SubnetUtils(String address,
                             String mask)

      Constructor that takes a dotted decimal address and a dotted decimal mask.
      Parameters:
        `address` - An IP address, e.g. "192.168.0.1"
        `mask` - A dotted decimal netmask e.g. "255.255.0.0"
      Throws:
        `IllegalArgumentException` - if the address or mask is invalid, i.e. does not match n.n.n.n where n=1-3 decimal digits and the mask is not all zeros

  - ### Method Detail

    - #### isInclusiveHostCount

          public boolean isInclusiveHostCount()

      Returns `true` if the return value of `SubnetUtils.SubnetInfo.getAddressCount()` includes the network and broadcast addresses.
      Returns:
        true if the host count includes the network and broadcast addresses
      Since:
        2.2

    - #### setInclusiveHostCount

          public void setInclusiveHostCount(boolean inclusiveHostCount)

      Set to `true` if you want the return value of `SubnetUtils.SubnetInfo.getAddressCount()` to include the network and broadcast addresses. This also applies to `SubnetUtils.SubnetInfo.isInRange(int)`
      Parameters:
        `inclusiveHostCount` - true if network and broadcast addresses are to be included
      Since:
        2.2

    - #### getInfo

          public final SubnetUtils.SubnetInfo getInfo()

      Return a `SubnetUtils.SubnetInfo` instance that contains subnet-specific statistics
      Returns:
        new instance

    - #### getNext

          public SubnetUtils getNext()

    - #### getPrevious

          public SubnetUtils getPrevious()

Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.