package org.test4j.json.decoder.single;
import java.lang.reflect.Type;
import java.net.InetSocketAddress;
import org.test4j.json.decoder.base.FixedTypeDecoder;
@SuppressWarnings({ "unchecked", "rawtypes" })
public class SocketAddressDecoder extends FixedTypeDecoder {
public final static SocketAddressDecoder toSOCKETADDRESS = new SocketAddressDecoder();
@Override
protected InetSocketAddress decodeFromString(String value) {
String[] parts = value.split(":");
if (parts.length == 1) {
return new InetSocketAddress(parts[0], 0);
}
int port = Integer.valueOf(parts[1]);
return new InetSocketAddress(parts[0], port);
}
public boolean accept(Type type) {
Class claz = this.getRawType(type, null);
return InetSocketAddress.class.isAssignableFrom(claz);
}
}