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

org.redkale.convert.ext.TypeSimpledCoder 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.Writer;
import org.redkale.convert.SimpledCoder;

/**
 * Type 的SimpledCoder实现 只支持Type的子类Class
 *
 * 

* 详情见: https://redkale.org * * @author zhangjx * @param Reader输入的子类型 * @param Writer输出的子类型 */ public class TypeSimpledCoder extends SimpledCoder { public static final TypeSimpledCoder instance = new TypeSimpledCoder(); @Override public void convertTo(final W out, final Class value) { if (value == null) { out.writeNull(); } else { out.writeSmallString(value.getName()); } } @Override public Class convertFrom(R in) { String str = in.readSmallString(); if (str == null) return null; try { return Thread.currentThread().getContextClassLoader().loadClass(str); } catch (Throwable e) { return null; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy