diff --git a/src/org/redkale/convert/ConvertFactory.java b/src/org/redkale/convert/ConvertFactory.java index bff2013cc..961bc68a3 100644 --- a/src/org/redkale/convert/ConvertFactory.java +++ b/src/org/redkale/convert/ConvertFactory.java @@ -13,7 +13,7 @@ import java.nio.ByteBuffer; import java.nio.channels.CompletionHandler; import java.util.*; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.*; import java.util.regex.Pattern; import java.util.stream.*; import org.redkale.convert.ext.*; @@ -88,6 +88,7 @@ public abstract class ConvertFactory { this.register(String.class, StringSimpledCoder.instance); this.register(CharSequence.class, CharSequenceSimpledCoder.instance); this.register(java.util.Date.class, DateSimpledCoder.instance); + this.register(AtomicInteger.class, AtomicIntegerSimpledCoder.instance); this.register(AtomicLong.class, AtomicLongSimpledCoder.instance); this.register(BigInteger.class, BigIntegerSimpledCoder.instance); this.register(BigDecimal.class, BigDecimalSimpledCoder.instance); diff --git a/src/org/redkale/convert/ext/AtomicIntegerSimpledCoder.java b/src/org/redkale/convert/ext/AtomicIntegerSimpledCoder.java new file mode 100644 index 000000000..29b879e6e --- /dev/null +++ b/src/org/redkale/convert/ext/AtomicIntegerSimpledCoder.java @@ -0,0 +1,35 @@ +/* + * 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.ext; + +import java.util.concurrent.atomic.AtomicInteger; +import org.redkale.convert.*; + +/** + * AtomicInteger 的SimpledCoder实现 + * + *

+ * 详情见: https://redkale.org + * + * @author zhangjx + * @param Reader输入的子类型 + * @param Writer输出的子类型 + */ +public class AtomicIntegerSimpledCoder extends SimpledCoder { + + public static final AtomicIntegerSimpledCoder instance = new AtomicIntegerSimpledCoder(); + + @Override + public void convertTo(W out, AtomicInteger value) { + out.writeInt(value == null ? 0 : value.get()); + } + + @Override + public AtomicInteger convertFrom(R in) { + return new AtomicInteger(in.readInt()); + } + +}