增加对IntStream、LongStream、DoubleStream的序列化支持
This commit is contained in:
@@ -15,7 +15,7 @@ import java.util.*;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.*;
|
||||||
import org.redkale.convert.ext.InetAddressSimpledCoder.InetSocketAddressSimpledCoder;
|
import org.redkale.convert.ext.InetAddressSimpledCoder.InetSocketAddressSimpledCoder;
|
||||||
import org.redkale.convert.ext.*;
|
import org.redkale.convert.ext.*;
|
||||||
import org.redkale.util.*;
|
import org.redkale.util.*;
|
||||||
@@ -108,9 +108,12 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
|
|||||||
this.register(short[].class, ShortArraySimpledCoder.instance);
|
this.register(short[].class, ShortArraySimpledCoder.instance);
|
||||||
this.register(char[].class, CharArraySimpledCoder.instance);
|
this.register(char[].class, CharArraySimpledCoder.instance);
|
||||||
this.register(int[].class, IntArraySimpledCoder.instance);
|
this.register(int[].class, IntArraySimpledCoder.instance);
|
||||||
|
this.register(IntStream.class, IntArraySimpledCoder.IntStreamSimpledCoder.instance);
|
||||||
this.register(long[].class, LongArraySimpledCoder.instance);
|
this.register(long[].class, LongArraySimpledCoder.instance);
|
||||||
|
this.register(LongStream.class, LongArraySimpledCoder.LongStreamSimpledCoder.instance);
|
||||||
this.register(float[].class, FloatArraySimpledCoder.instance);
|
this.register(float[].class, FloatArraySimpledCoder.instance);
|
||||||
this.register(double[].class, DoubleArraySimpledCoder.instance);
|
this.register(double[].class, DoubleArraySimpledCoder.instance);
|
||||||
|
this.register(DoubleStream.class, DoubleArraySimpledCoder.DoubleStreamSimpledCoder.instance);
|
||||||
this.register(String[].class, StringArraySimpledCoder.instance);
|
this.register(String[].class, StringArraySimpledCoder.instance);
|
||||||
//---------------------------------------------------------
|
//---------------------------------------------------------
|
||||||
this.register(AnyValue.class, Creator.create(AnyValue.DefaultAnyValue.class));
|
this.register(AnyValue.class, Creator.create(AnyValue.DefaultAnyValue.class));
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.redkale.convert.ext;
|
package org.redkale.convert.ext;
|
||||||
|
|
||||||
|
import java.util.stream.DoubleStream;
|
||||||
import org.redkale.convert.Reader;
|
import org.redkale.convert.Reader;
|
||||||
import org.redkale.convert.SimpledCoder;
|
import org.redkale.convert.SimpledCoder;
|
||||||
import org.redkale.convert.Writer;
|
import org.redkale.convert.Writer;
|
||||||
@@ -12,7 +13,9 @@ import org.redkale.convert.Writer;
|
|||||||
/**
|
/**
|
||||||
* double[] 的SimpledCoder实现
|
* double[] 的SimpledCoder实现
|
||||||
*
|
*
|
||||||
* <p> 详情见: https://redkale.org
|
* <p>
|
||||||
|
* 详情见: https://redkale.org
|
||||||
|
*
|
||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
* @param <R> Reader输入的子类型
|
* @param <R> Reader输入的子类型
|
||||||
* @param <W> Writer输出的子类型
|
* @param <W> Writer输出的子类型
|
||||||
@@ -66,4 +69,24 @@ public final class DoubleArraySimpledCoder<R extends Reader, W extends Writer> e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static class DoubleStreamSimpledCoder<R extends Reader, W extends Writer> extends SimpledCoder<R, W, DoubleStream> {
|
||||||
|
|
||||||
|
public static final DoubleStreamSimpledCoder instance = new DoubleStreamSimpledCoder();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void convertTo(W out, DoubleStream values) {
|
||||||
|
if (values == null) {
|
||||||
|
out.writeNull();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DoubleArraySimpledCoder.instance.convertTo(out, values.toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DoubleStream convertFrom(R in) {
|
||||||
|
double[] value = DoubleArraySimpledCoder.instance.convertFrom(in);
|
||||||
|
return value == null ? null : DoubleStream.of(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.redkale.convert.ext;
|
package org.redkale.convert.ext;
|
||||||
|
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import org.redkale.convert.Reader;
|
import org.redkale.convert.Reader;
|
||||||
import org.redkale.convert.SimpledCoder;
|
import org.redkale.convert.SimpledCoder;
|
||||||
import org.redkale.convert.Writer;
|
import org.redkale.convert.Writer;
|
||||||
@@ -12,7 +13,9 @@ import org.redkale.convert.Writer;
|
|||||||
/**
|
/**
|
||||||
* int[] 的SimpledCoder实现
|
* int[] 的SimpledCoder实现
|
||||||
*
|
*
|
||||||
* <p> 详情见: https://redkale.org
|
* <p>
|
||||||
|
* 详情见: https://redkale.org
|
||||||
|
*
|
||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
* @param <R> Reader输入的子类型
|
* @param <R> Reader输入的子类型
|
||||||
* @param <W> Writer输出的子类型
|
* @param <W> Writer输出的子类型
|
||||||
@@ -66,4 +69,24 @@ public final class IntArraySimpledCoder<R extends Reader, W extends Writer> exte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static class IntStreamSimpledCoder<R extends Reader, W extends Writer> extends SimpledCoder<R, W, IntStream> {
|
||||||
|
|
||||||
|
public static final IntStreamSimpledCoder instance = new IntStreamSimpledCoder();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void convertTo(W out, IntStream values) {
|
||||||
|
if (values == null) {
|
||||||
|
out.writeNull();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
IntArraySimpledCoder.instance.convertTo(out, values.toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IntStream convertFrom(R in) {
|
||||||
|
int[] value = IntArraySimpledCoder.instance.convertFrom(in);
|
||||||
|
return value == null ? null : IntStream.of(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.redkale.convert.ext;
|
package org.redkale.convert.ext;
|
||||||
|
|
||||||
|
import java.util.stream.LongStream;
|
||||||
import org.redkale.convert.Reader;
|
import org.redkale.convert.Reader;
|
||||||
import org.redkale.convert.SimpledCoder;
|
import org.redkale.convert.SimpledCoder;
|
||||||
import org.redkale.convert.Writer;
|
import org.redkale.convert.Writer;
|
||||||
@@ -68,4 +69,24 @@ public final class LongArraySimpledCoder<R extends Reader, W extends Writer> ext
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static class LongStreamSimpledCoder<R extends Reader, W extends Writer> extends SimpledCoder<R, W, LongStream> {
|
||||||
|
|
||||||
|
public static final LongStreamSimpledCoder instance = new LongStreamSimpledCoder();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void convertTo(W out, LongStream values) {
|
||||||
|
if (values == null) {
|
||||||
|
out.writeNull();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LongArraySimpledCoder.instance.convertTo(out, values.toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LongStream convertFrom(R in) {
|
||||||
|
long[] value = LongArraySimpledCoder.instance.convertFrom(in);
|
||||||
|
return value == null ? null : LongStream.of(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user