From ae48fdccdc49f0fc414f1f7a4e30cfa9c0427fe7 Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Wed, 30 Dec 2015 11:51:35 +0800 Subject: [PATCH] --- .../convert/ext/DLongSimpledCoder.java | 20 ++++++ .../convert/ext/InetAddressSimpledCoder.java | 53 ++++++++++++++ .../convert/json/DLongJsonSimpledCoder.java | 34 --------- .../json/InetAddressJsonSimpledCoder.java | 69 ------------------- src/org/redkale/convert/json/JsonFactory.java | 7 +- src/org/redkale/convert/json/JsonReader.java | 2 +- 6 files changed, 78 insertions(+), 107 deletions(-) delete mode 100644 src/org/redkale/convert/json/DLongJsonSimpledCoder.java delete mode 100644 src/org/redkale/convert/json/InetAddressJsonSimpledCoder.java diff --git a/src/org/redkale/convert/ext/DLongSimpledCoder.java b/src/org/redkale/convert/ext/DLongSimpledCoder.java index d98daad09..e96f964b4 100644 --- a/src/org/redkale/convert/ext/DLongSimpledCoder.java +++ b/src/org/redkale/convert/ext/DLongSimpledCoder.java @@ -39,4 +39,24 @@ public final class DLongSimpledCoder extends return DLong.create(bs); } + public static class DLongJsonSimpledCoder extends SimpledCoder { + + public static final DLongJsonSimpledCoder instance = new DLongJsonSimpledCoder(); + + @Override + public void convertTo(final Writer out, final DLong value) { + if (value == null) { + out.writeNull(); + } else { + out.writeSmallString(value.toString()); + } + } + + @Override + public DLong convertFrom(Reader in) { + final String str = in.readString(); + if (str == null) return null; + return DLong.create(Utility.hexToBin(str)); + } + } } diff --git a/src/org/redkale/convert/ext/InetAddressSimpledCoder.java b/src/org/redkale/convert/ext/InetAddressSimpledCoder.java index a057cf2b5..4c60af290 100644 --- a/src/org/redkale/convert/ext/InetAddressSimpledCoder.java +++ b/src/org/redkale/convert/ext/InetAddressSimpledCoder.java @@ -68,4 +68,57 @@ public final class InetAddressSimpledCoder e } } + + public final static class InetAddressJsonSimpledCoder extends SimpledCoder { + + public static final InetAddressJsonSimpledCoder instance = new InetAddressJsonSimpledCoder(); + + @Override + public void convertTo(W out, InetAddress value) { + if (value == null) { + out.writeNull(); + return; + } + StringSimpledCoder.instance.convertTo(out, value.getHostAddress()); + } + + @Override + public InetAddress convertFrom(R in) { + String str = StringSimpledCoder.instance.convertFrom(in); + if (str == null) return null; + try { + return InetAddress.getByName(str); + } catch (Exception ex) { + return null; + } + } + + } + + public final static class InetSocketAddressJsonSimpledCoder extends SimpledCoder { + + public static final InetSocketAddressJsonSimpledCoder instance = new InetSocketAddressJsonSimpledCoder(); + + @Override + public void convertTo(W out, InetSocketAddress value) { + if (value == null) { + out.writeNull(); + return; + } + StringSimpledCoder.instance.convertTo(out, value.getHostString() + ":" + value.getPort()); + } + + @Override + public InetSocketAddress convertFrom(R in) { + String str = StringSimpledCoder.instance.convertFrom(in); + if (str == null) return null; + try { + int pos = str.indexOf(':'); + return new InetSocketAddress(str.substring(0, pos), Integer.parseInt(str.substring(pos + 1))); + } catch (Exception ex) { + return null; + } + } + + } } diff --git a/src/org/redkale/convert/json/DLongJsonSimpledCoder.java b/src/org/redkale/convert/json/DLongJsonSimpledCoder.java deleted file mode 100644 index 3c2770f4d..000000000 --- a/src/org/redkale/convert/json/DLongJsonSimpledCoder.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package org.redkale.convert.json; - -import org.redkale.util.*; - -/** - * - * @see http://www.redkale.org - * @author zhangjx - */ -public class DLongJsonSimpledCoder extends JsonSimpledCoder { - - public static final DLongJsonSimpledCoder instance = new DLongJsonSimpledCoder(); - - @Override - public void convertTo(final JsonWriter out, final DLong value) { - if (value == null) { - out.writeNull(); - } else { - out.writeSmallString(value.toString()); - } - } - - @Override - public DLong convertFrom(JsonReader in) { - final String str = in.readString(); - if (str == null) return null; - return DLong.create(Utility.hexToBin(str)); - } -} diff --git a/src/org/redkale/convert/json/InetAddressJsonSimpledCoder.java b/src/org/redkale/convert/json/InetAddressJsonSimpledCoder.java deleted file mode 100644 index d65032255..000000000 --- a/src/org/redkale/convert/json/InetAddressJsonSimpledCoder.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package org.redkale.convert.json; - -import java.net.*; -import org.redkale.convert.*; -import org.redkale.convert.ext.*; - -/** - * - * @see http://www.redkale.org - * @author zhangjx - * @param - * @param - */ -public final class InetAddressJsonSimpledCoder extends SimpledCoder { - - public static final InetAddressJsonSimpledCoder instance = new InetAddressJsonSimpledCoder(); - - @Override - public void convertTo(JsonWriter out, InetAddress value) { - if (value == null) { - out.writeNull(); - return; - } - StringSimpledCoder.instance.convertTo(out, value.getHostAddress()); - } - - @Override - public InetAddress convertFrom(JsonReader in) { - String str = StringSimpledCoder.instance.convertFrom(in); - if (str == null) return null; - try { - return InetAddress.getByName(str); - } catch (Exception ex) { - return null; - } - } - - public final static class InetSocketAddressJsonSimpledCoder extends SimpledCoder { - - public static final InetSocketAddressJsonSimpledCoder instance = new InetSocketAddressJsonSimpledCoder(); - - @Override - public void convertTo(JsonWriter out, InetSocketAddress value) { - if (value == null) { - out.writeNull(); - return; - } - StringSimpledCoder.instance.convertTo(out, value.getHostString() + ":" + value.getPort()); - } - - @Override - public InetSocketAddress convertFrom(JsonReader in) { - String str = StringSimpledCoder.instance.convertFrom(in); - if (str == null) return null; - try { - int pos = str.indexOf(':'); - return new InetSocketAddress(str.substring(0, pos), Integer.parseInt(str.substring(pos + 1))); - } catch (Exception ex) { - return null; - } - } - - } -} diff --git a/src/org/redkale/convert/json/JsonFactory.java b/src/org/redkale/convert/json/JsonFactory.java index 88753f691..3b28faafe 100644 --- a/src/org/redkale/convert/json/JsonFactory.java +++ b/src/org/redkale/convert/json/JsonFactory.java @@ -9,6 +9,7 @@ import org.redkale.convert.ConvertType; import org.redkale.convert.Factory; import java.io.Serializable; import java.net.*; +import org.redkale.convert.ext.*; import org.redkale.util.*; /** @@ -21,9 +22,9 @@ public final class JsonFactory extends Factory { private static final JsonFactory instance = new JsonFactory(null, Boolean.getBoolean("convert.json.tiny")); static { - instance.register(InetAddress.class, InetAddressJsonSimpledCoder.instance); - instance.register(InetSocketAddress.class, InetAddressJsonSimpledCoder.InetSocketAddressJsonSimpledCoder.instance); - instance.register(DLong.class, DLongJsonSimpledCoder.instance); + instance.register(InetAddress.class, InetAddressSimpledCoder.InetAddressJsonSimpledCoder.instance); + instance.register(InetSocketAddress.class, InetAddressSimpledCoder.InetSocketAddressJsonSimpledCoder.instance); + instance.register(DLong.class, DLongSimpledCoder.DLongJsonSimpledCoder.instance); instance.register(Serializable.class, instance.loadEncoder(Object.class)); } diff --git a/src/org/redkale/convert/json/JsonReader.java b/src/org/redkale/convert/json/JsonReader.java index 1789faa0e..168097ede 100644 --- a/src/org/redkale/convert/json/JsonReader.java +++ b/src/org/redkale/convert/json/JsonReader.java @@ -16,7 +16,7 @@ import org.redkale.util.*; * @see http://www.redkale.org * @author zhangjx */ -public final class JsonReader implements Reader { +public class JsonReader implements Reader { private int position = -1;