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

com.xiaoleilu.hutool.bean.copier.ValueProvider Maven / Gradle / Ivy

package com.xiaoleilu.hutool.bean.copier;

import java.lang.reflect.Type;

import com.xiaoleilu.hutool.convert.Convert;

/**
 * 值提供者,用于提供Bean注入时参数对应值得抽象接口
* 继承或匿名实例化此接口
* 在Bean注入过程中,Bean获得字段名,通过外部方式根据这个字段名查找相应的字段值,然后注入Bean
* * @author Looly * @param KEY类型,一般情况下为 {@link String} * */ public interface ValueProvider { /** * 获取值
* 返回值一般需要匹配被注入类型,如果不匹配会调用默认转换 {@link Convert#convert(Type, Object)}实现转换 * * @param key Bean对象中参数名 * @param valueType 被注入的值得类型 * @return 对应参数名的值 */ public Object value(T key, Type valueType); /** * 是否包含指定KEY,如果不包含则忽略注入
* 此接口方法单独需要实现的意义在于:有些值提供者(比如Map)key是存在的,但是value为null,此时如果需要注入这个null,需要根据此方法判断 * * @param key Bean对象中参数名 * @return 是否包含指定KEY */ public boolean containsKey(T key); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy