All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.redkale.convert.ext.EnumSimpledCoder Maven / Gradle / Ivy

/*
 * 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 org.redkale.convert.Reader;
import org.redkale.convert.SimpledCoder;
import org.redkale.convert.Writer;

/**
 * 枚举 的SimpledCoder实现
 *
 * 

* 详情见: https://redkale.org * * @author zhangjx * @param Reader输入的子类型 * @param Writer输出的子类型 * @param Enum的子类 */ public final class EnumSimpledCoder extends SimpledCoder { private final Class type; public EnumSimpledCoder(Class type) { this.type = type; } @Override public void convertTo(final W out, final E value) { if (value == null) { out.writeNull(); } else { out.writeSmallString(value.toString()); } } @Override @SuppressWarnings("unchecked") public E convertFrom(final R in) { String value = in.readSmallString(); if (value == null) return null; return (E) Enum.valueOf(type, value); } @Override public Class getType() { return type; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy