package org.rakam.collection.mapper.geoip.maxmind.ip2location.utils;
import java.math.BigInteger;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IP4Converter
{
public static String toIP(Long longValue)
{
return toIP(BigInteger.valueOf(longValue).toByteArray());
}
public static String toIP(byte[] address)
{
int startIdx = (address.length > 4 ? 1 : 0);
return String.format("%d.%d.%d.%d", address[startIdx] & 0xFF, address[startIdx + 1] & 0xFF, address[startIdx + 2] & 0xFF, address[startIdx + 3] & 0xFF);
}
public static long toLong(String ip)
throws UnknownHostException
{
return toLong(InetAddress.getByName(ip).getAddress());
}
public static long toLong(byte[] address)
{
long longValue = 0;
int startIdx = (address.length > 4 ? 1 : 0);
for (int i = startIdx; i < address.length; i++) {
longValue <<= 8;
longValue += (long) (address[i] & 0xFF);
}
return longValue;
}
}