Convert增加AtomicIntegerSimpledCoder

This commit is contained in:
Redkale
2017-12-20 18:45:14 +08:00
parent c692deebe9
commit aa3ade5912
2 changed files with 37 additions and 1 deletions

View File

@@ -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<R extends Reader, W extends Writer> {
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);

View File

@@ -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实现
*
* <p>
* 详情见: https://redkale.org
*
* @author zhangjx
* @param <R> Reader输入的子类型
* @param <W> Writer输出的子类型
*/
public class AtomicIntegerSimpledCoder<R extends Reader, W extends Writer> extends SimpledCoder<R, W, AtomicInteger> {
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());
}
}