Sha256: b4d41d444f36b4cb3c2bdcf85d901c02af96b1a31732ce7e0250be248126a161
Contents?: true
Size: 1.76 KB
Versions: 164
Compression:
Stored size: 1.76 KB
Contents
package sh.calaba.org.codehaus.jackson.map.ser.std; import java.io.IOException; import java.net.InetAddress; import sh.calaba.org.codehaus.jackson.JsonGenerationException; import sh.calaba.org.codehaus.jackson.JsonGenerator; import sh.calaba.org.codehaus.jackson.map.SerializerProvider; import sh.calaba.org.codehaus.jackson.map.TypeSerializer; /** * Simple serializer for {@link java.net.InetAddress}. Main complexity is * with registration, since same serializer is to be used for sub-classes. * * @since 1.8 */ public class InetAddressSerializer extends ScalarSerializerBase<InetAddress> { public final static InetAddressSerializer instance = new InetAddressSerializer(); public InetAddressSerializer() { super(InetAddress.class); } @Override public void serialize(InetAddress value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { // Ok: get textual description; choose "more specific" part String str = value.toString().trim(); int ix = str.indexOf('/'); if (ix >= 0) { if (ix == 0) { // missing host name; use address str = str.substring(1); } else { // otherwise use name str = str.substring(0, ix); } } jgen.writeString(str); } @Override public void serializeWithType(InetAddress value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, JsonGenerationException { // Better ensure we don't use specific sub-classes... typeSer.writeTypePrefixForScalar(value, jgen, InetAddress.class); serialize(value, jgen, provider); typeSer.writeTypeSuffixForScalar(value, jgen); } }
Version data entries
164 entries across 164 versions & 2 rubygems