Class IpAddress

java.lang.Object
ru.bitel.common.inet.IpAddress
All Implemented Interfaces:
Serializable, Comparable<IpAddress>

public class IpAddress extends Object implements Comparable<IpAddress>, Serializable
See Also:
  • Field Details

    • ZERO_ADDRESS

      public static final IpAddress ZERO_ADDRESS
    • IPV6_ZERO_ADDRESS

      public static final IpAddress IPV6_ZERO_ADDRESS
    • address

      public byte[] address
    • comparator

      public static final Comparator<byte[]> comparator
  • Constructor Details

    • IpAddress

      public IpAddress()
    • IpAddress

      public IpAddress(byte[] address)
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • hashCode

      public static int hashCode(byte[] a)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equals

      public static boolean equals(byte[] a, byte[] a2)
    • clear

      public void clear()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public static String toString(byte[] address)
    • toString

      public static void toString(byte[] address, StringBuilder sb)
    • compare

      public static final int compare(byte[] v1, byte[] v2)
    • compare

      public static final int compare(byte[] v1, int i, int len1, byte[] v2, int j, int len2)
    • newAndIncrement

      public static byte[] newAndIncrement(byte[] ip)
    • increment

      public static boolean increment(byte[] ip)
    • increment

      public static boolean increment(byte[] ip, int fromBit)
      Инкрементирует адрес.
      Parameters:
      ip -
      fromBit - позиция бита с конца
      Returns:
    • add

      public static boolean add(byte[] ip, long delta)
      Прибавляем к адресу нужное нам количество. delta >=0
      Parameters:
      ip -
      delta -
      Returns:
    • substract

      public static boolean substract(byte[] ip, int delta)
      Отнимем от адреса нужное нам количество. delta >=0
    • decrement

      public static boolean decrement(byte[] ip)
      Отнимаем один ip от адреса
      Parameters:
      ip -
      Returns:
    • newAndDecrement

      public static byte[] newAndDecrement(byte[] ip)
    • compareTo

      public int compareTo(IpAddress o)
      Specified by:
      compareTo in interface Comparable<IpAddress>
    • clone

      public IpAddress clone()
      Overrides:
      clone in class Object
    • instersect

      @Deprecated public static boolean instersect(byte[] addressFrom, byte[] addressTo, byte[] addressFrom2, byte[] addressTo2)
      Deprecated.
      - use IpRange.intersects(byte[], byte[], byte[], byte[]) функция пересечения отрезков. Все параметры не пустые , иначе NullPointerException
      Parameters:
      addressFrom -
      addressTo -
      addressFrom2 -
      addressTo2 -
      Returns:
    • rangeInRange

      @Deprecated public static boolean rangeInRange(byte[] addressFrom, byte[] addressTo, byte[] addressFrom2, byte[] addressTo2)
      Deprecated.
      - use IpRange.inRange(byte[], byte[], byte[], byte[]) функция вхождения одного отрезка в другой. Все параметры не пустые , иначе NullPointerException.
      Parameters:
      addressFrom -
      addressTo -
      addressFrom2 -
      addressTo2 -
      Returns:
    • ipInRange

      @Deprecated public static boolean ipInRange(byte[] ip, byte[] addressFrom, byte[] addressTo)
      Parameters:
      ip -
      addressFrom -
      addressTo -
      Returns:
    • convertIp6AddresToBigInt

      public static BigInteger convertIp6AddresToBigInt(byte[] address)
      Parameters:
      address -
      Returns:
    • convertIp4AddresToBigInt

      public static BigInteger convertIp4AddresToBigInt(byte[] address)
      Parameters:
      address -
      Returns:
    • convertBigIntToIp4Address

      public static byte[] convertBigIntToIp4Address(BigInteger bigInteger)
      Parameters:
      bigInteger -
      Returns:
    • convertBigIntToIp6Address

      public static byte[] convertBigIntToIp6Address(BigInteger bigInteger)
      Parameters:
      bigInteger -
      Returns:
    • formatRange

      @Deprecated public static String formatRange(IpAddress from, IpAddress to)
      Deprecated.
      - use IpRange.toString(IpAddress, IpAddress) Форматирует диапазон адресов к виду от-до.
      Parameters:
      from -
      to -
      Returns:
    • formatRange

      @Deprecated public static String formatRange(byte[] from, byte[] to)
      Deprecated.
      - use IpRange.toString(byte[], byte[]) Форматирует диапазон адресов к виду от-до.
      Parameters:
      from -
      to -
      Returns:
    • nextPrefix

      public static boolean nextPrefix(byte[] ip, int prefixLength)
      Возвращает префикс для указанной длины префикса. Если в адресе не префиксные биты !=0, то возвращает следующий префикс.
      Parameters:
      ip -
      prefixLength -
      Returns:
    • toRFCString

      public static String toRFCString(byte[] address)
    • toRFCString

      public static void toRFCString(byte[] address, StringBuilder sb)