Package ru.bitel.common.inet
Class IpAddress
java.lang.Object
ru.bitel.common.inet.IpAddress
- All Implemented Interfaces:
 java.io.Serializable,java.lang.Comparable<IpAddress>
public class IpAddress extends java.lang.Object implements java.lang.Comparable<IpAddress>, java.io.Serializable
- See Also:
 - Serialized Form
 
- 
Field Summary
Fields Modifier and Type Field Description byte[]addressstatic java.util.Comparator<byte[]>comparatorstatic IpAddressIPV6_ZERO_ADDRESSstatic IpAddressZERO_ADDRESS - 
Constructor Summary
 - 
Method Summary
Modifier and Type Method Description static booleanadd(byte[] ip, long delta)Прибавляем к адресу нужное нам количество. delta >=0voidclear()IpAddressclone()static intcompare(byte[] v1, byte[] v2)static intcompare(byte[] v1, int i, int len1, byte[] v2, int j, int len2)intcompareTo(IpAddress o)static byte[]convertBigIntToIp4Address(java.math.BigInteger bigInteger)static byte[]convertBigIntToIp6Address(java.math.BigInteger bigInteger)static java.math.BigIntegerconvertIp4AddresToBigInt(byte[] address)static java.math.BigIntegerconvertIp6AddresToBigInt(byte[] address)static booleandecrement(byte[] ip)Отнимаем один ip от адресаstatic booleanequals(byte[] a, byte[] a2)booleanequals(java.lang.Object obj)static java.lang.StringformatRange(byte[] from, byte[] to)Deprecated.static java.lang.StringformatRange(IpAddress from, IpAddress to)Deprecated.- useIpRange.toString(IpAddress, IpAddress)Форматирует диапазон адресов к виду от-до.inthashCode()static inthashCode(byte[] a)static booleanincrement(byte[] ip)static booleanincrement(byte[] ip, int fromBit)Инкрементирует адрес.static booleaninstersect(byte[] addressFrom, byte[] addressTo, byte[] addressFrom2, byte[] addressTo2)Deprecated.- useIpRange.intersects(byte[], byte[], byte[], byte[])функция пересечения отрезков.static booleanipInRange(byte[] ip, byte[] addressFrom, byte[] addressTo)Deprecated.static byte[]newAndDecrement(byte[] ip)static byte[]newAndIncrement(byte[] ip)static booleannextPrefix(byte[] ip, int prefixLength)Возвращает префикс для указанной длины префикса.static booleanrangeInRange(byte[] addressFrom, byte[] addressTo, byte[] addressFrom2, byte[] addressTo2)Deprecated.- useIpRange.inRange(byte[], byte[], byte[], byte[])функция вхождения одного отрезка в другой.static booleansubstract(byte[] ip, int delta)Отнимем от адреса нужное нам количество. delta >=0static java.lang.StringtoRFCString(byte[] address)static voidtoRFCString(byte[] address, java.lang.StringBuilder sb)java.lang.StringtoString()static java.lang.StringtoString(byte[] address)static voidtoString(byte[] address, java.lang.StringBuilder sb)Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait 
- 
Field Details
- 
ZERO_ADDRESS
 - 
IPV6_ZERO_ADDRESS
 - 
address
public byte[] address - 
comparator
public static final java.util.Comparator<byte[]> comparator 
 - 
 - 
Constructor Details
- 
IpAddress
public IpAddress() - 
IpAddress
public IpAddress(byte[] address) 
 - 
 - 
Method Details
- 
hashCode
public int hashCode()- Overrides:
 hashCodein classjava.lang.Object
 - 
hashCode
public static int hashCode(byte[] a) - 
equals
public boolean equals(java.lang.Object obj)- Overrides:
 equalsin classjava.lang.Object
 - 
equals
public static boolean equals(byte[] a, byte[] a2) - 
clear
public void clear() - 
toString
public java.lang.String toString()- Overrides:
 toStringin classjava.lang.Object
 - 
toString
public static java.lang.String toString(byte[] address) - 
toString
public static void toString(byte[] address, java.lang.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
- Specified by:
 compareToin interfacejava.lang.Comparable<IpAddress>
 - 
clone
- Overrides:
 clonein classjava.lang.Object
 - 
instersect
@Deprecated public static boolean instersect(byte[] addressFrom, byte[] addressTo, byte[] addressFrom2, byte[] addressTo2)Deprecated.- useIpRange.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.- useIpRange.inRange(byte[], byte[], byte[], byte[])функция вхождения одного отрезка в другой. Все параметры не пустые , иначе NullPointerException.- Parameters:
 addressFrom-addressTo-addressFrom2-addressTo2-- Returns:
 
 - 
ipInRange
@Deprecated public static boolean ipInRange(byte[] ip, byte[] addressFrom, byte[] addressTo)Deprecated.- Parameters:
 ip-addressFrom-addressTo-- Returns:
 
 - 
convertIp6AddresToBigInt
public static java.math.BigInteger convertIp6AddresToBigInt(byte[] address)- Parameters:
 address-- Returns:
 
 - 
convertIp4AddresToBigInt
public static java.math.BigInteger convertIp4AddresToBigInt(byte[] address)- Parameters:
 address-- Returns:
 
 - 
convertBigIntToIp4Address
public static byte[] convertBigIntToIp4Address(java.math.BigInteger bigInteger)- Parameters:
 bigInteger-- Returns:
 
 - 
convertBigIntToIp6Address
public static byte[] convertBigIntToIp6Address(java.math.BigInteger bigInteger)- Parameters:
 bigInteger-- Returns:
 
 - 
formatRange
Deprecated.- useIpRange.toString(IpAddress, IpAddress)Форматирует диапазон адресов к виду от-до.- Parameters:
 from-to-- Returns:
 
 - 
formatRange
@Deprecated public static java.lang.String formatRange(byte[] from, byte[] to)Deprecated.- useIpRange.toString(byte[], byte[])Форматирует диапазон адресов к виду от-до.- Parameters:
 from-to-- Returns:
 
 - 
nextPrefix
public static boolean nextPrefix(byte[] ip, int prefixLength)Возвращает префикс для указанной длины префикса. Если в адресе не префиксные биты !=0, то возвращает следующий префикс.- Parameters:
 ip-prefixLength-- Returns:
 
 - 
toRFCString
public static java.lang.String toRFCString(byte[] address) - 
toRFCString
public static void toRFCString(byte[] address, java.lang.StringBuilder sb) 
 - 
 
IpRange.toString(byte[], byte[])Форматирует диапазон адресов к виду от-до.