package org.test4j.json.decoder.single;
import java.lang.reflect.Type;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.test4j.json.decoder.base.DecoderException;
import org.test4j.json.decoder.base.FixedTypeDecoder;
@SuppressWarnings({ "unchecked", "rawtypes" })
public class InetAddressDecoder extends FixedTypeDecoder {
public static InetAddressDecoder toINETADDRESS = new InetAddressDecoder();
@Override
protected InetAddress decodeFromString(String host) {
try {
return InetAddress.getByName(host);
} catch (UnknownHostException e) {
String message = "can't cast value[" + host + "] to InetAddress.";
throw new DecoderException(message, e);
}
}
public boolean accept(Type type) {
Class claz = this.getRawType(type, null);
return InetAddress.class.isAssignableFrom(claz);
}
}