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

cn.featherfly.conversion.core.AbstractConversion Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version

package cn.featherfly.conversion.core;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import cn.featherfly.common.lang.GenericType;


/**
 * 

* 使用BeanProperty作为参数的转换器. *

* @param 类型信息 * @author 钟冀 */ public abstract class AbstractConversion> implements Conversion{ private ConversionPolicy conversionPolicy; /** * 日志 */ protected final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 使用BASIC_CONVERSION_POLICY */ public AbstractConversion() { this(ConversionPolicys.getBasicConversionPolicy()); } /** * 使用传入conversionPolicy * @param conversionPolicy conversionPolicy */ public AbstractConversion(ConversionPolicy conversionPolicy) { this.conversionPolicy = conversionPolicy; } /** *

* 内部状态检查 *

*/ protected void check() { if (conversionPolicy == null) { throw new ConversionException("转换策略[conversionPolicy]没有设置!"); } } /** *

* 获取指定类型的转换器 *

* @param 泛型 * @param type 类型 * @return 转换器 */ protected Convertor getConvertor(Class type) { @SuppressWarnings("unchecked") Convertor convertor = (Convertor) conversionPolicy.getConvertor(type); if (convertor == null) { throw new ConversionException( String.format("转换策略没有为类型%s设置转换器!", type.getName())); } return convertor; } /** * 返回conversionPolicy * @return conversionPolicy */ public ConversionPolicy getConversionPolicy() { return conversionPolicy; } /** * 设置conversionPolicy * @param conversionPolicy conversionPolicy */ public void setConversionPolicy(ConversionPolicy conversionPolicy) { this.conversionPolicy = conversionPolicy; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy