diff --git a/src/main/java/org/redkale/convert/AnyDecoder.java b/src/main/java/org/redkale/convert/AnyDecoder.java index f2596e5fb..2c7fbb26a 100644 --- a/src/main/java/org/redkale/convert/AnyDecoder.java +++ b/src/main/java/org/redkale/convert/AnyDecoder.java @@ -5,11 +5,10 @@ */ package org.redkale.convert; -import static org.redkale.convert.Reader.ValueType.MAP; - import java.lang.reflect.Type; import java.util.*; import org.redkale.convert.Reader.ValueType; +import static org.redkale.convert.Reader.ValueType.MAP; import org.redkale.util.*; /** @@ -18,8 +17,9 @@ import org.redkale.util.*; * 详情见: https://redkale.org * * @author zhangjx + * @param Reader */ -public class AnyDecoder implements Decodeable { +public class AnyDecoder implements Decodeable { private static final Type collectionObjectType = new TypeToken>() {}.getType(); diff --git a/src/main/java/org/redkale/convert/AnyEncoder.java b/src/main/java/org/redkale/convert/AnyEncoder.java index a9b5d5394..a59b84892 100644 --- a/src/main/java/org/redkale/convert/AnyEncoder.java +++ b/src/main/java/org/redkale/convert/AnyEncoder.java @@ -13,9 +13,10 @@ import java.lang.reflect.Type; *

详情见: https://redkale.org * * @author zhangjx + * @param Writer * @param 序列化的泛型类型 */ -public final class AnyEncoder implements Encodeable { +public final class AnyEncoder implements Encodeable { final ConvertFactory factory; @@ -25,7 +26,7 @@ public final class AnyEncoder implements Encodeable { @Override @SuppressWarnings("unchecked") - public void convertTo(final Writer out, final T value) { + public void convertTo(final W out, final T value) { if (value == null) { out.writeClassName(null); out.writeNull(); diff --git a/src/main/java/org/redkale/convert/ArrayDecoder.java b/src/main/java/org/redkale/convert/ArrayDecoder.java index 512e4c41f..851679c98 100644 --- a/src/main/java/org/redkale/convert/ArrayDecoder.java +++ b/src/main/java/org/redkale/convert/ArrayDecoder.java @@ -19,10 +19,11 @@ import org.redkale.util.Creator; *

详情见: https://redkale.org * * @author zhangjx + * @param Reader * @param 反解析的数组元素类型 */ @SuppressWarnings("unchecked") -public class ArrayDecoder implements Decodeable { +public class ArrayDecoder implements Decodeable { protected final Type type; @@ -30,7 +31,7 @@ public class ArrayDecoder implements Decodeable { protected final Class componentClass; - protected final Decodeable componentDecoder; + protected final Decodeable componentDecoder; protected final IntFunction componentArrayFunction; @@ -71,11 +72,11 @@ public class ArrayDecoder implements Decodeable { } @Override - public T[] convertFrom(Reader in) { + public T[] convertFrom(R in) { return convertFrom(in, null); } - public T[] convertFrom(Reader in, DeMember member) { + public T[] convertFrom(R in, DeMember member) { byte[] typevals = new byte[1]; int len = in.readArrayB(member, typevals, componentDecoder); int contentLength = -1; @@ -98,13 +99,13 @@ public class ArrayDecoder implements Decodeable { } } } - final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); + final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); final List result = new ArrayList(); boolean first = true; if (len == Reader.SIGN_NOLENGTH) { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { - Reader itemReader = getItemReader(in, member, first); + R itemReader = getItemReader(in, member, first); if (itemReader == null) { break; } @@ -121,19 +122,19 @@ public class ArrayDecoder implements Decodeable { return result.toArray(rs); } - protected boolean hasNext(Reader in, DeMember member, int startPosition, int contentLength, boolean first) { + protected boolean hasNext(R in, DeMember member, int startPosition, int contentLength, boolean first) { return in.hasNext(startPosition, contentLength); } - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { return decoder; } - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected R getItemReader(R in, DeMember member, boolean first) { return in; } - protected T readMemberValue(Reader in, DeMember member, Decodeable decoder, boolean first) { + protected T readMemberValue(R in, DeMember member, Decodeable decoder, boolean first) { if (in == null) { return null; } @@ -155,7 +156,7 @@ public class ArrayDecoder implements Decodeable { return componentType; } - public Decodeable getComponentDecoder() { + public Decodeable getComponentDecoder() { return componentDecoder; } } diff --git a/src/main/java/org/redkale/convert/ArrayEncoder.java b/src/main/java/org/redkale/convert/ArrayEncoder.java index 8767230af..c496e7185 100644 --- a/src/main/java/org/redkale/convert/ArrayEncoder.java +++ b/src/main/java/org/redkale/convert/ArrayEncoder.java @@ -16,10 +16,11 @@ import java.util.concurrent.locks.*; *

详情见: https://redkale.org * * @author zhangjx + * @param Writer * @param 序列化的数组元素类型 */ @SuppressWarnings("unchecked") -public class ArrayEncoder implements Encodeable { +public class ArrayEncoder implements Encodeable { protected final Type type; @@ -27,7 +28,7 @@ public class ArrayEncoder implements Encodeable { protected final Encodeable anyEncoder; - protected final Encodeable componentEncoder; + protected final Encodeable componentEncoder; protected final boolean subTypeFinal; @@ -69,11 +70,11 @@ public class ArrayEncoder implements Encodeable { } @Override - public void convertTo(Writer out, T[] value) { + public void convertTo(W out, T[] value) { convertTo(out, null, value); } - public void convertTo(Writer out, EnMember member, T[] value) { + public void convertTo(W out, EnMember member, T[] value) { if (value == null) { out.writeNull(); return; @@ -84,7 +85,7 @@ public class ArrayEncoder implements Encodeable { out.writeArrayE(); return; } - Encodeable itemEncoder = this.componentEncoder; + Encodeable itemEncoder = this.componentEncoder; if (itemEncoder == null) { if (!this.inited) { lock.lock(); @@ -131,8 +132,7 @@ public class ArrayEncoder implements Encodeable { out.writeArrayE(); } - protected void writeMemberValue( - Writer out, EnMember member, Encodeable encoder, Object value, int index) { + protected void writeMemberValue(W out, EnMember member, Encodeable encoder, Object value, int index) { encoder.convertTo(out, value); } @@ -156,7 +156,7 @@ public class ArrayEncoder implements Encodeable { return componentType; } - public Encodeable getComponentEncoder() { + public Encodeable getComponentEncoder() { return componentEncoder; } } diff --git a/src/main/java/org/redkale/convert/CollectionDecoder.java b/src/main/java/org/redkale/convert/CollectionDecoder.java index 092d0af1c..2a1c32f53 100644 --- a/src/main/java/org/redkale/convert/CollectionDecoder.java +++ b/src/main/java/org/redkale/convert/CollectionDecoder.java @@ -17,10 +17,11 @@ import org.redkale.util.Creator; *

详情见: https://redkale.org * * @author zhangjx + * @param Reader * @param 反解析的集合元素类型 */ @SuppressWarnings("unchecked") -public class CollectionDecoder implements Decodeable> { +public class CollectionDecoder implements Decodeable> { protected final Type type; @@ -28,7 +29,7 @@ public class CollectionDecoder implements Decodeable> { protected Creator> creator; - protected final Decodeable componentDecoder; + protected final Decodeable componentDecoder; protected volatile boolean inited = false; @@ -66,10 +67,7 @@ public class CollectionDecoder implements Decodeable> { // 仅供类似JsonAnyDecoder这种动态创建使用, 不得调用 factory.register public CollectionDecoder( - Type type, - Type componentType, - Creator> creator, - final Decodeable componentDecoder) { + Type type, Type componentType, Creator> creator, final Decodeable componentDecoder) { Objects.requireNonNull(componentDecoder); this.type = type; this.componentType = componentType; @@ -79,11 +77,11 @@ public class CollectionDecoder implements Decodeable> { } @Override - public Collection convertFrom(Reader in) { + public Collection convertFrom(R in) { return convertFrom(in, null); } - public Collection convertFrom(Reader in, DeMember member) { + public Collection convertFrom(R in, DeMember member) { byte[] typevals = new byte[1]; int len = in.readArrayB(member, typevals, componentDecoder); int contentLength = -1; @@ -106,13 +104,13 @@ public class CollectionDecoder implements Decodeable> { } } } - final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); + final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); final Collection result = this.creator.create(); boolean first = true; if (len == Reader.SIGN_NOLENGTH) { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { - Reader itemReader = getItemReader(in, member, first); + R itemReader = getItemReader(in, member, first); if (itemReader == null) { break; } @@ -128,19 +126,19 @@ public class CollectionDecoder implements Decodeable> { return result; } - protected boolean hasNext(Reader in, DeMember member, int startPosition, int contentLength, boolean first) { + protected boolean hasNext(R in, DeMember member, int startPosition, int contentLength, boolean first) { return in.hasNext(startPosition, contentLength); } - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { return decoder; } - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected R getItemReader(R in, DeMember member, boolean first) { return in; } - protected T readMemberValue(Reader in, DeMember member, Decodeable decoder, boolean first) { + protected T readMemberValue(R in, DeMember member, Decodeable decoder, boolean first) { if (in == null) { return null; } @@ -156,7 +154,7 @@ public class CollectionDecoder implements Decodeable> { return componentType; } - public Decodeable getComponentDecoder() { + public Decodeable getComponentDecoder() { return componentDecoder; } } diff --git a/src/main/java/org/redkale/convert/CollectionEncoder.java b/src/main/java/org/redkale/convert/CollectionEncoder.java index f8b8511d0..bd441702d 100644 --- a/src/main/java/org/redkale/convert/CollectionEncoder.java +++ b/src/main/java/org/redkale/convert/CollectionEncoder.java @@ -16,14 +16,15 @@ import java.util.concurrent.locks.*; *

详情见: https://redkale.org * * @author zhangjx + * @param Writer * @param 序列化的集合元素类型 */ @SuppressWarnings("unchecked") -public class CollectionEncoder implements Encodeable> { +public class CollectionEncoder implements Encodeable> { protected final Type type; - protected final Encodeable componentEncoder; + protected final Encodeable componentEncoder; protected volatile boolean inited = false; @@ -56,11 +57,11 @@ public class CollectionEncoder implements Encodeable> { } @Override - public void convertTo(Writer out, Collection value) { + public void convertTo(W out, Collection value) { convertTo(out, null, value); } - public void convertTo(Writer out, EnMember member, Collection value) { + public void convertTo(W out, EnMember member, Collection value) { if (value == null) { out.writeNull(); return; @@ -97,7 +98,7 @@ public class CollectionEncoder implements Encodeable> { out.writeArrayE(); } - protected void writeMemberValue(Writer out, EnMember member, Object value, boolean first) { + protected void writeMemberValue(W out, EnMember member, Object value, boolean first) { componentEncoder.convertTo(out, value); } @@ -117,7 +118,7 @@ public class CollectionEncoder implements Encodeable> { + "}"; } - public Encodeable getComponentEncoder() { + public Encodeable getComponentEncoder() { return componentEncoder; } diff --git a/src/main/java/org/redkale/convert/MapDecoder.java b/src/main/java/org/redkale/convert/MapDecoder.java index a17b86b53..8691f5689 100644 --- a/src/main/java/org/redkale/convert/MapDecoder.java +++ b/src/main/java/org/redkale/convert/MapDecoder.java @@ -16,11 +16,12 @@ import org.redkale.util.Creator; *

详情见: https://redkale.org * * @author zhangjx + * @param Reader * @param Map key的数据类型 * @param Map value的数据类型 */ @SuppressWarnings("unchecked") -public class MapDecoder implements Decodeable> { +public class MapDecoder implements Decodeable> { protected final Type type; @@ -30,9 +31,9 @@ public class MapDecoder implements Decodeable> { protected Creator> creator; - protected final Decodeable keyDecoder; + protected final Decodeable keyDecoder; - protected final Decodeable valueDecoder; + protected final Decodeable valueDecoder; protected volatile boolean inited = false; @@ -84,8 +85,8 @@ public class MapDecoder implements Decodeable> { Type keyType, Type valueType, Creator> creator, - final Decodeable keyDecoder, - Decodeable valueDecoder) { + final Decodeable keyDecoder, + Decodeable valueDecoder) { Objects.requireNonNull(keyDecoder); Objects.requireNonNull(valueDecoder); this.type = type; @@ -98,11 +99,11 @@ public class MapDecoder implements Decodeable> { } @Override - public Map convertFrom(Reader in) { + public Map convertFrom(R in) { return convertFrom(in, null); } - public Map convertFrom(Reader in, DeMember member) { + public Map convertFrom(R in, DeMember member) { if (this.keyDecoder == null || this.valueDecoder == null) { if (!this.inited) { lock.lock(); @@ -127,12 +128,12 @@ public class MapDecoder implements Decodeable> { } final Map result = this.creator.create(); boolean first = true; - Decodeable kdecoder = getKeyDecoder(this.keyDecoder, typevals); - Decodeable vdecoder = getValueDecoder(this.valueDecoder, typevals); + Decodeable kdecoder = getKeyDecoder(this.keyDecoder, typevals); + Decodeable vdecoder = getValueDecoder(this.valueDecoder, typevals); if (len == Reader.SIGN_NOLENGTH) { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { - Reader entryReader = getEntryReader(in, member, first); + R entryReader = getEntryReader(in, member, first); if (entryReader == null) { break; } @@ -155,27 +156,27 @@ public class MapDecoder implements Decodeable> { return result; } - protected boolean hasNext(Reader in, DeMember member, int startPosition, int contentLength, boolean first) { + protected boolean hasNext(R in, DeMember member, int startPosition, int contentLength, boolean first) { return in.hasNext(startPosition, contentLength); } - protected Decodeable getKeyDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getKeyDecoder(Decodeable decoder, byte[] typevals) { return decoder; } - protected Decodeable getValueDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getValueDecoder(Decodeable decoder, byte[] typevals) { return decoder; } - protected Reader getEntryReader(Reader in, DeMember member, boolean first) { + protected R getEntryReader(R in, DeMember member, boolean first) { return in; } - protected K readKeyMember(Reader in, DeMember member, Decodeable decoder, boolean first) { + protected K readKeyMember(R in, DeMember member, Decodeable decoder, boolean first) { return decoder.convertFrom(in); } - protected V readValueMember(Reader in, DeMember member, Decodeable decoder, boolean first) { + protected V readValueMember(R in, DeMember member, Decodeable decoder, boolean first) { return decoder.convertFrom(in); } @@ -192,11 +193,11 @@ public class MapDecoder implements Decodeable> { return valueType; } - public Decodeable getKeyDecoder() { + public Decodeable getKeyDecoder() { return keyDecoder; } - public Decodeable getValueDecoder() { + public Decodeable getValueDecoder() { return valueDecoder; } } diff --git a/src/main/java/org/redkale/convert/MapEncoder.java b/src/main/java/org/redkale/convert/MapEncoder.java index 9a45d5a06..8af7439d5 100644 --- a/src/main/java/org/redkale/convert/MapEncoder.java +++ b/src/main/java/org/redkale/convert/MapEncoder.java @@ -16,17 +16,18 @@ import java.util.function.BiFunction; *

详情见: https://redkale.org * * @author zhangjx + * @param Writer * @param Map key的数据类型 * @param Map value的数据类型 */ @SuppressWarnings("unchecked") -public class MapEncoder implements Encodeable> { +public class MapEncoder implements Encodeable> { protected final Type type; - protected final Encodeable keyEncoder; + protected final Encodeable keyEncoder; - protected final Encodeable valueEncoder; + protected final Encodeable valueEncoder; protected volatile boolean inited = false; @@ -66,11 +67,11 @@ public class MapEncoder implements Encodeable> { } @Override - public void convertTo(Writer out, Map value) { + public void convertTo(W out, Map value) { convertTo(out, null, value); } - public void convertTo(Writer out, EnMember member, Map value) { + public void convertTo(W out, EnMember member, Map value) { final Map values = value; if (values == null) { out.writeNull(); @@ -110,7 +111,7 @@ public class MapEncoder implements Encodeable> { out.writeMapE(); } - protected void writeMemberValue(Writer out, EnMember member, K key, V value, boolean first) { + protected void writeMemberValue(W out, EnMember member, K key, V value, boolean first) { keyEncoder.convertTo(out, key); out.writeMapMark(); valueEncoder.convertTo(out, value); @@ -134,11 +135,11 @@ public class MapEncoder implements Encodeable> { return valueEncoder == null ? null : valueEncoder.getType(); } - public Encodeable getKeyEncoder() { + public Encodeable getKeyEncoder() { return keyEncoder; } - public Encodeable getValueEncoder() { + public Encodeable getValueEncoder() { return valueEncoder; } } diff --git a/src/main/java/org/redkale/convert/StreamDecoder.java b/src/main/java/org/redkale/convert/StreamDecoder.java index 898f94108..338aef7d5 100644 --- a/src/main/java/org/redkale/convert/StreamDecoder.java +++ b/src/main/java/org/redkale/convert/StreamDecoder.java @@ -17,16 +17,17 @@ import java.util.stream.Stream; *

详情见: https://redkale.org * * @author zhangjx + * @param Reader * @param 反解析的集合元素类型 */ @SuppressWarnings("unchecked") -public class StreamDecoder implements Decodeable> { +public class StreamDecoder implements Decodeable> { protected final Type type; protected final Type componentType; - protected final Decodeable componentDecoder; + protected final Decodeable componentDecoder; protected volatile boolean inited = false; @@ -57,11 +58,11 @@ public class StreamDecoder implements Decodeable> { } @Override - public Stream convertFrom(Reader in) { + public Stream convertFrom(R in) { return convertFrom(in, null); } - public Stream convertFrom(Reader in, DeMember member) { + public Stream convertFrom(R in, DeMember member) { byte[] typevals = new byte[1]; int len = in.readArrayB(member, typevals, this.componentDecoder); int contentLength = -1; @@ -84,13 +85,13 @@ public class StreamDecoder implements Decodeable> { } } } - final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); + final Decodeable localdecoder = getComponentDecoder(this.componentDecoder, typevals); final List result = new ArrayList(); boolean first = true; if (len == Reader.SIGN_NOLENGTH) { int startPosition = in.position(); while (hasNext(in, member, startPosition, contentLength, first)) { - Reader itemReader = getItemReader(in, member, first); + R itemReader = getItemReader(in, member, first); if (itemReader == null) { break; } @@ -106,19 +107,19 @@ public class StreamDecoder implements Decodeable> { return result.stream(); } - protected boolean hasNext(Reader in, DeMember member, int startPosition, int contentLength, boolean first) { + protected boolean hasNext(R in, DeMember member, int startPosition, int contentLength, boolean first) { return in.hasNext(startPosition, contentLength); } - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { return decoder; } - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected R getItemReader(R in, DeMember member, boolean first) { return in; } - protected T readMemberValue(Reader in, DeMember member, Decodeable decoder, boolean first) { + protected T readMemberValue(R in, DeMember member, Decodeable decoder, boolean first) { return decoder.convertFrom(in); } @@ -131,7 +132,7 @@ public class StreamDecoder implements Decodeable> { return componentType; } - public Decodeable getComponentDecoder() { + public Decodeable getComponentDecoder() { return componentDecoder; } } diff --git a/src/main/java/org/redkale/convert/StreamEncoder.java b/src/main/java/org/redkale/convert/StreamEncoder.java index 74a789915..868d13fc7 100644 --- a/src/main/java/org/redkale/convert/StreamEncoder.java +++ b/src/main/java/org/redkale/convert/StreamEncoder.java @@ -16,10 +16,11 @@ import java.util.stream.Stream; *

详情见: https://redkale.org * * @author zhangjx + * @param Writer * @param 序列化的集合元素类型 */ @SuppressWarnings("unchecked") -public class StreamEncoder implements Encodeable> { +public class StreamEncoder implements Encodeable> { protected final Type type; @@ -56,11 +57,11 @@ public class StreamEncoder implements Encodeable> { } @Override - public void convertTo(Writer out, Stream value) { + public void convertTo(W out, Stream value) { convertTo(out, null, value); } - public void convertTo(Writer out, EnMember member, Stream value) { + public void convertTo(W out, EnMember member, Stream value) { if (value == null) { out.writeNull(); return; @@ -98,7 +99,7 @@ public class StreamEncoder implements Encodeable> { out.writeArrayE(); } - protected void writeMemberValue(Writer out, EnMember member, Object value, boolean first) { + protected void writeMemberValue(W out, EnMember member, Object value, boolean first) { componentEncoder.convertTo(out, value); } diff --git a/src/main/java/org/redkale/convert/Writer.java b/src/main/java/org/redkale/convert/Writer.java index b5167b1e4..f12c4f746 100644 --- a/src/main/java/org/redkale/convert/Writer.java +++ b/src/main/java/org/redkale/convert/Writer.java @@ -237,8 +237,7 @@ public abstract class Writer { * @param obj 对象, 不一定是数组、Collection对象,也可能是伪Collection对象 * @return 返回-1表示还没有写入对象内容,大于-1表示已写入对象内容,返回对象内容大小 */ - public abstract int writeArrayB( - int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj); + public abstract int writeArrayB(int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj); /** 输出数组元素间的间隔符 */ public abstract void writeArrayMark(); @@ -255,8 +254,7 @@ public abstract class Writer { * @param obj 对象, 不一定是Map对象,也可能是伪Map对象 * @return 返回-1表示还没有写入对象内容,大于-1表示已写入对象内容,返回对象内容大小 */ - public abstract int writeMapB( - int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj); + public abstract int writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj); /** 输出一个Map中key与value间的间隔符 */ public abstract void writeMapMark(); diff --git a/src/main/java/org/redkale/convert/bson/BsonWriter.java b/src/main/java/org/redkale/convert/bson/BsonWriter.java index 33708ef6b..c1a97b151 100644 --- a/src/main/java/org/redkale/convert/bson/BsonWriter.java +++ b/src/main/java/org/redkale/convert/bson/BsonWriter.java @@ -311,8 +311,7 @@ public class BsonWriter extends Writer implements ByteTuple { } @Override - public final int writeArrayB( - int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj) { + public final int writeArrayB(int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj) { writeInt(size); if (componentEncoder != null && componentEncoder != ByteSimpledCoder.instance) { writeByte(BsonFactory.typeEnum(componentEncoder.getType())); @@ -331,8 +330,7 @@ public class BsonWriter extends Writer implements ByteTuple { } @Override - public int writeMapB( - int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { + public int writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { writeInt(size); writeByte(BsonFactory.typeEnum(keyEncoder.getType())); writeByte(BsonFactory.typeEnum(valueEncoder.getType())); diff --git a/src/main/java/org/redkale/convert/bson/SkipArrayDecoder.java b/src/main/java/org/redkale/convert/bson/SkipArrayDecoder.java index dbc9d714a..a08860bed 100644 --- a/src/main/java/org/redkale/convert/bson/SkipArrayDecoder.java +++ b/src/main/java/org/redkale/convert/bson/SkipArrayDecoder.java @@ -18,14 +18,14 @@ import org.redkale.convert.*; * @author zhangjx * @param 反解析的数组元素类型 */ -public class SkipArrayDecoder extends ArrayDecoder { +public class SkipArrayDecoder extends ArrayDecoder { - public SkipArrayDecoder(final ConvertFactory factory, final Type type) { + public SkipArrayDecoder(final BsonFactory factory, final Type type) { super(factory, type); } @Override - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { if (typevals != null) { return BsonFactory.typeEnum(typevals[0]); } diff --git a/src/main/java/org/redkale/convert/bson/SkipCollectionDecoder.java b/src/main/java/org/redkale/convert/bson/SkipCollectionDecoder.java index 07bbe18ee..fd283eb1e 100644 --- a/src/main/java/org/redkale/convert/bson/SkipCollectionDecoder.java +++ b/src/main/java/org/redkale/convert/bson/SkipCollectionDecoder.java @@ -17,14 +17,14 @@ import org.redkale.convert.*; * @author zhangjx * @param 反解析的集合元素类型 */ -public class SkipCollectionDecoder extends CollectionDecoder { +public class SkipCollectionDecoder extends CollectionDecoder { public SkipCollectionDecoder(final ConvertFactory factory, final Type type) { super(factory, type); } @Override - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { if (typevals != null) { return BsonFactory.typeEnum(typevals[0]); } diff --git a/src/main/java/org/redkale/convert/bson/SkipMapDecoder.java b/src/main/java/org/redkale/convert/bson/SkipMapDecoder.java index cf7642b07..2c40817f9 100644 --- a/src/main/java/org/redkale/convert/bson/SkipMapDecoder.java +++ b/src/main/java/org/redkale/convert/bson/SkipMapDecoder.java @@ -17,14 +17,14 @@ import org.redkale.convert.*; * @param Map key的数据类型 * @param Map value的数据类型 */ -public class SkipMapDecoder extends MapDecoder { +public class SkipMapDecoder extends MapDecoder { - public SkipMapDecoder(final ConvertFactory factory, final Type type) { + public SkipMapDecoder(final BsonFactory factory, final Type type) { super(factory, type); } @Override - protected Decodeable getKeyDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getKeyDecoder(Decodeable decoder, byte[] typevals) { if (typevals != null) { return BsonFactory.typeEnum(typevals[0]); } @@ -32,7 +32,7 @@ public class SkipMapDecoder extends MapDecoder { } @Override - protected Decodeable getValueDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getValueDecoder(Decodeable decoder, byte[] typevals) { if (typevals != null) { return BsonFactory.typeEnum(typevals[1]); } diff --git a/src/main/java/org/redkale/convert/bson/SkipStreamDecoder.java b/src/main/java/org/redkale/convert/bson/SkipStreamDecoder.java index 3f393966c..6d276e0aa 100644 --- a/src/main/java/org/redkale/convert/bson/SkipStreamDecoder.java +++ b/src/main/java/org/redkale/convert/bson/SkipStreamDecoder.java @@ -17,14 +17,14 @@ import org.redkale.convert.*; * @author zhangjx * @param 反解析的集合元素类型 */ -public class SkipStreamDecoder extends StreamDecoder { +public class SkipStreamDecoder extends StreamDecoder { - public SkipStreamDecoder(final ConvertFactory factory, final Type type) { + public SkipStreamDecoder(final BsonFactory factory, final Type type) { super(factory, type); } @Override - protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { + protected Decodeable getComponentDecoder(Decodeable decoder, byte[] typevals) { if (typevals != null) { return BsonFactory.typeEnum(typevals[0]); } diff --git a/src/main/java/org/redkale/convert/json/JsonElementDecoder.java b/src/main/java/org/redkale/convert/json/JsonElementDecoder.java index 3e46a47ce..c4baa9e07 100644 --- a/src/main/java/org/redkale/convert/json/JsonElementDecoder.java +++ b/src/main/java/org/redkale/convert/json/JsonElementDecoder.java @@ -17,7 +17,7 @@ import org.redkale.util.*; * @author zhangjx * @since 2.8.0 */ -class JsonElementDecoder extends AnyDecoder { +class JsonElementDecoder extends AnyDecoder { private static final Type arrayType = new TypeToken>() {}.getType(); diff --git a/src/main/java/org/redkale/convert/json/JsonWriter.java b/src/main/java/org/redkale/convert/json/JsonWriter.java index a71ce9661..c9709d40f 100644 --- a/src/main/java/org/redkale/convert/json/JsonWriter.java +++ b/src/main/java/org/redkale/convert/json/JsonWriter.java @@ -241,8 +241,7 @@ public abstract class JsonWriter extends Writer { } @Override - public final int writeArrayB( - int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj) { + public final int writeArrayB(int size, Encodeable arrayEncoder, Encodeable componentEncoder, Object obj) { writeTo(BYTE_LBRACKET); return -1; } @@ -258,8 +257,7 @@ public abstract class JsonWriter extends Writer { } @Override - public final int writeMapB( - int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { + public final int writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { writeTo(BYTE_LBRACE); return -1; } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufArrayDecoder.java b/src/main/java/org/redkale/convert/pb/ProtobufArrayDecoder.java index 684b60d85..e26fdfc03 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufArrayDecoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufArrayDecoder.java @@ -13,7 +13,7 @@ import org.redkale.convert.*; * @author zhangjx * @param T */ -public class ProtobufArrayDecoder extends ArrayDecoder { +public class ProtobufArrayDecoder extends ArrayDecoder { protected final boolean simple; @@ -21,9 +21,9 @@ public class ProtobufArrayDecoder extends ArrayDecoder { private final boolean enumtostring; - public ProtobufArrayDecoder(ConvertFactory factory, Type type) { + public ProtobufArrayDecoder(ProtobufFactory factory, Type type) { super(factory, type); - this.enumtostring = ((ProtobufFactory) factory).enumtostring; + this.enumtostring = factory.enumtostring; Type comtype = this.getComponentType(); this.string = String.class == comtype; this.simple = Boolean.class == comtype @@ -38,7 +38,7 @@ public class ProtobufArrayDecoder extends ArrayDecoder { } @Override - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected ProtobufReader getItemReader(ProtobufReader in, DeMember member, boolean first) { if (simple) return in; return ProtobufFactory.getItemReader(string, simple, in, member, enumtostring, first); } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufArrayEncoder.java b/src/main/java/org/redkale/convert/pb/ProtobufArrayEncoder.java index 3fd3982ce..ecf42c7a8 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufArrayEncoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufArrayEncoder.java @@ -13,11 +13,11 @@ import org.redkale.convert.*; * @author zhangjx * @param T */ -public class ProtobufArrayEncoder extends ArrayEncoder { +public class ProtobufArrayEncoder extends ArrayEncoder { protected final boolean simple; - public ProtobufArrayEncoder(ConvertFactory factory, Type type) { + public ProtobufArrayEncoder(ProtobufFactory factory, Type type) { super(factory, type); Type comtype = this.getComponentType(); this.simple = Boolean.class == comtype @@ -32,11 +32,10 @@ public class ProtobufArrayEncoder extends ArrayEncoder { } @Override - protected void writeMemberValue( - Writer out, EnMember member, Encodeable encoder, Object item, int index) { + protected void writeMemberValue(ProtobufWriter out, EnMember member, Encodeable encoder, Object item, int index) { if (simple) { if (item == null) { - ((ProtobufWriter) out).writeUInt32(0); + out.writeUInt32(0); } else { componentEncoder.convertTo(out, item); } @@ -44,15 +43,14 @@ public class ProtobufArrayEncoder extends ArrayEncoder { } if (member != null) out.writeFieldName(member); if (item == null) { - ((ProtobufWriter) out).writeUInt32(0); + out.writeUInt32(0); } else if (item instanceof CharSequence) { encoder.convertTo(out, item); } else { ProtobufWriter tmp = new ProtobufWriter().configFieldFunc(out); encoder.convertTo(tmp, item); - int length = tmp.count(); - ((ProtobufWriter) out).writeUInt32(length); - ((ProtobufWriter) out).writeTo(tmp.toArray()); + out.writeLength(tmp.count()); + out.writeTo(tmp.toArray()); } } } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufCollectionDecoder.java b/src/main/java/org/redkale/convert/pb/ProtobufCollectionDecoder.java index 62ab64249..2d494c567 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufCollectionDecoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufCollectionDecoder.java @@ -13,7 +13,7 @@ import org.redkale.convert.*; * @author zhangjx * @param T */ -public class ProtobufCollectionDecoder extends CollectionDecoder { +public class ProtobufCollectionDecoder extends CollectionDecoder { protected final boolean simple; @@ -21,9 +21,9 @@ public class ProtobufCollectionDecoder extends CollectionDecoder { private final boolean enumtostring; - public ProtobufCollectionDecoder(ConvertFactory factory, Type type) { + public ProtobufCollectionDecoder(ProtobufFactory factory, Type type) { super(factory, type); - this.enumtostring = ((ProtobufFactory) factory).enumtostring; + this.enumtostring = factory.enumtostring; Type comtype = this.getComponentType(); this.string = String.class == comtype; this.simple = Boolean.class == comtype @@ -38,7 +38,7 @@ public class ProtobufCollectionDecoder extends CollectionDecoder { } @Override - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected ProtobufReader getItemReader(ProtobufReader in, DeMember member, boolean first) { if (simple) return in; return ProtobufFactory.getItemReader(string, simple, in, member, enumtostring, first); } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufCollectionEncoder.java b/src/main/java/org/redkale/convert/pb/ProtobufCollectionEncoder.java index 39206b2ff..e1933b046 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufCollectionEncoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufCollectionEncoder.java @@ -13,11 +13,11 @@ import org.redkale.convert.*; * @author zhangjx * @param T */ -public class ProtobufCollectionEncoder extends CollectionEncoder { +public class ProtobufCollectionEncoder extends CollectionEncoder { protected final boolean simple; - public ProtobufCollectionEncoder(ConvertFactory factory, Type type) { + public ProtobufCollectionEncoder(ProtobufFactory factory, Type type) { super(factory, type); Type comtype = this.getComponentType(); this.simple = Boolean.class == comtype @@ -32,7 +32,7 @@ public class ProtobufCollectionEncoder extends CollectionEncoder { } @Override - protected void writeMemberValue(Writer out, EnMember member, Object item, boolean first) { + protected void writeMemberValue(ProtobufWriter out, EnMember member, Object item, boolean first) { if (simple) { if (item == null) { ((ProtobufWriter) out).writeUInt32(0); @@ -43,15 +43,14 @@ public class ProtobufCollectionEncoder extends CollectionEncoder { } if (member != null) out.writeFieldName(member); if (item == null) { - ((ProtobufWriter) out).writeUInt32(0); + out.writeUInt32(0); } else if (item instanceof CharSequence) { componentEncoder.convertTo(out, item); } else { ProtobufWriter tmp = new ProtobufWriter().configFieldFunc(out); componentEncoder.convertTo(tmp, item); - int length = tmp.count(); - ((ProtobufWriter) out).writeUInt32(length); - ((ProtobufWriter) out).writeTo(tmp.toArray()); + out.writeLength(tmp.count()); + out.writeTo(tmp.toArray()); } } } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufFactory.java b/src/main/java/org/redkale/convert/pb/ProtobufFactory.java index 3681e2a5e..b389d2158 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufFactory.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufFactory.java @@ -184,8 +184,8 @@ public class ProtobufFactory extends ConvertFactory K * @param V */ -public class ProtobufMapDecoder extends MapDecoder { +public class ProtobufMapDecoder extends MapDecoder { protected final boolean enumtostring; @@ -23,30 +23,29 @@ public class ProtobufMapDecoder extends MapDecoder { } @Override - protected Reader getEntryReader(Reader in, DeMember member, boolean first) { - ProtobufReader reader = (ProtobufReader) in; + protected ProtobufReader getEntryReader(ProtobufReader in, DeMember member, boolean first) { if (!first && member != null) { - int tag = reader.readTag(); + int tag = in.readTag(); if (tag != member.getTag()) { - reader.backTag(tag); + in.backTag(tag); return null; } } - byte[] bs = reader.readByteArray(); + byte[] bs = in.readByteArray(); return new ProtobufReader(bs); } @Override - protected K readKeyMember(Reader in, DeMember member, Decodeable decoder, boolean first) { - ProtobufReader reader = (ProtobufReader) in; - reader.readTag(); + protected K readKeyMember( + ProtobufReader in, DeMember member, Decodeable decoder, boolean first) { + in.readTag(); return decoder.convertFrom(in); } @Override - protected V readValueMember(Reader in, DeMember member, Decodeable decoder, boolean first) { - ProtobufReader reader = (ProtobufReader) in; - reader.readTag(); + protected V readValueMember( + ProtobufReader in, DeMember member, Decodeable decoder, boolean first) { + in.readTag(); return decoder.convertFrom(in); } } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufMapEncoder.java b/src/main/java/org/redkale/convert/pb/ProtobufMapEncoder.java index 5471e798d..ac97d14b0 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufMapEncoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufMapEncoder.java @@ -13,7 +13,7 @@ import org.redkale.convert.*; * @param K * @param V */ -public class ProtobufMapEncoder extends MapEncoder { +public class ProtobufMapEncoder extends MapEncoder { private final boolean enumtostring; @@ -23,15 +23,14 @@ public class ProtobufMapEncoder extends MapEncoder { } @Override - protected void writeMemberValue(Writer out, EnMember member, K key, V value, boolean first) { + protected void writeMemberValue(ProtobufWriter out, EnMember member, K key, V value, boolean first) { ProtobufWriter tmp = new ProtobufWriter().configFieldFunc(out); if (member != null) out.writeFieldName(member); tmp.writeUInt32(1 << 3 | ProtobufFactory.wireType(keyEncoder.getType(), enumtostring)); keyEncoder.convertTo(tmp, key); tmp.writeUInt32(2 << 3 | ProtobufFactory.wireType(valueEncoder.getType(), enumtostring)); valueEncoder.convertTo(tmp, value); - int length = tmp.count(); - ((ProtobufWriter) out).writeUInt32(length); - ((ProtobufWriter) out).writeTo(tmp.toArray()); + out.writeLength(tmp.count()); + out.writeTo(tmp.toArray()); } } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java b/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java index d4c275bcf..ba4b05be2 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java @@ -27,13 +27,8 @@ public class ProtobufObjectDecoder extends ObjectDecoder { + ConvertColumn.class.getSimpleName() + ".index"); } Attribute attr = member.getAttribute(); - setTag( - member, - ProtobufFactory.getTag( - attr.field(), - attr.genericType(), - member.getPosition(), - ((ProtobufFactory) factory).enumtostring)); + boolean enumtostring = ((ProtobufFactory) factory).enumtostring; + setTag(member, ProtobufFactory.getTag(attr.field(), attr.genericType(), member.getPosition(), enumtostring)); } @Override diff --git a/src/main/java/org/redkale/convert/pb/ProtobufObjectEncoder.java b/src/main/java/org/redkale/convert/pb/ProtobufObjectEncoder.java index 581550a5e..ff5bb9274 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufObjectEncoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufObjectEncoder.java @@ -27,13 +27,8 @@ public class ProtobufObjectEncoder extends ObjectEncoder { + ConvertColumn.class.getSimpleName() + ".index"); } Attribute attr = member.getAttribute(); - setTag( - member, - ProtobufFactory.getTag( - attr.field(), - attr.genericType(), - member.getPosition(), - ((ProtobufFactory) factory).enumtostring)); + boolean enumtostring = ((ProtobufFactory) factory).enumtostring; + setTag(member, ProtobufFactory.getTag(attr.field(), attr.genericType(), member.getPosition(), enumtostring)); } @Override diff --git a/src/main/java/org/redkale/convert/pb/ProtobufStreamDecoder.java b/src/main/java/org/redkale/convert/pb/ProtobufStreamDecoder.java index ef842f49c..d27ccfd00 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufStreamDecoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufStreamDecoder.java @@ -13,7 +13,7 @@ import org.redkale.convert.*; * @author zhangjx * @param 泛型 */ -public class ProtobufStreamDecoder extends StreamDecoder { +public class ProtobufStreamDecoder extends StreamDecoder { protected final boolean simple; @@ -38,7 +38,7 @@ public class ProtobufStreamDecoder extends StreamDecoder { } @Override - protected Reader getItemReader(Reader in, DeMember member, boolean first) { + protected ProtobufReader getItemReader(ProtobufReader in, DeMember member, boolean first) { if (simple) return in; return ProtobufFactory.getItemReader(string, simple, in, member, enumtostring, first); } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufStreamEncoder.java b/src/main/java/org/redkale/convert/pb/ProtobufStreamEncoder.java index fe134d59c..7a67960a3 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufStreamEncoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufStreamEncoder.java @@ -13,7 +13,7 @@ import org.redkale.convert.*; * @author zhangjx * @param T */ -public class ProtobufStreamEncoder extends StreamEncoder { +public class ProtobufStreamEncoder extends StreamEncoder { protected final boolean simple; @@ -32,24 +32,25 @@ public class ProtobufStreamEncoder extends StreamEncoder { } @Override - protected void writeMemberValue(Writer out, EnMember member, Object item, boolean first) { + protected void writeMemberValue(ProtobufWriter out, EnMember member, Object item, boolean first) { if (simple) { if (item == null) { - ((ProtobufWriter) out).writeUInt32(0); + out.writeUInt32(0); } else { componentEncoder.convertTo(out, item); } return; } - if (member != null) out.writeFieldName(member); + if (member != null) { + out.writeFieldName(member); + } if (item instanceof CharSequence) { componentEncoder.convertTo(out, item); } else { ProtobufWriter tmp = new ProtobufWriter().configFieldFunc(out); componentEncoder.convertTo(tmp, item); - int length = tmp.count(); - ((ProtobufWriter) out).writeUInt32(length); - ((ProtobufWriter) out).writeTo(tmp.toArray()); + out.writeUInt32(tmp.count()); + out.writeTo(tmp.toArray()); } } } diff --git a/src/main/java/org/redkale/convert/pb/ProtobufWriter.java b/src/main/java/org/redkale/convert/pb/ProtobufWriter.java index f29869df3..7eed1646b 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufWriter.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufWriter.java @@ -54,11 +54,10 @@ public class ProtobufWriter extends Writer implements ByteTuple { return this; } - protected ProtobufWriter configFieldFunc(Writer writer) { - if (writer == null) { + protected ProtobufWriter configFieldFunc(ProtobufWriter out) { + if (out == null) { return this; } - ProtobufWriter out = (ProtobufWriter) writer; this.mapFieldFunc = out.mapFieldFunc; this.objFieldFunc = out.objFieldFunc; this.objExtFunc = out.objExtFunc; @@ -223,7 +222,7 @@ public class ProtobufWriter extends Writer implements ByteTuple { } @Override - public int writeArrayB(int size, Encodeable encoder, Encodeable componentEncoder, Object obj) { + public int writeArrayB(int size, Encodeable encoder, Encodeable componentEncoder, Object obj) { if (obj == null) { writeNull(); return 0; @@ -387,8 +386,7 @@ public class ProtobufWriter extends Writer implements ByteTuple { } @Override - public int writeMapB( - int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { + public int writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj) { return -1; }