Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于源对象的Spring ConditionalGenericConverter';s实例变量值_Java_Spring_Type Conversion - Fatal编程技术网

Java 基于源对象的Spring ConditionalGenericConverter';s实例变量值

Java 基于源对象的Spring ConditionalGenericConverter';s实例变量值,java,spring,type-conversion,Java,Spring,Type Conversion,我有一个类Request.class,我想根据以下条件将其转换为Response.class:如果Request.class的实例的布尔实例变量isValid设置为true,则不应触发此转换器。我们有没有办法使用Spring提供的ConditionalGenericConverter接口来实现这一点?还是有更好的方法解决这个问题 public class RequestToResponseConverter implements ConditionalGenericConverter {

我有一个类Request.class,我想根据以下条件将其转换为Response.class:如果Request.class的实例的布尔实例变量isValid设置为true,则不应触发此转换器。我们有没有办法使用Spring提供的ConditionalGenericConverter接口来实现这一点?还是有更好的方法解决这个问题

public class RequestToResponseConverter implements ConditionalGenericConverter {
    @Override
    public Set<ConvertiblePair> getConvertibleTypes() {
        Set<ConditionalGenericConverter.ConvertiblePair> pairs = new LinkedHashSet<>(); 
          pairs.add(new ConditionalGenericConverter.ConvertiblePair(Request.class, Response.class)); 
          return pairs;

    }

    @Override
    public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
        // TODO Auto-generated method stub
        if(//request.isValid){
            return true;
        }
        return false;
    }
公共类RequestToResponseConverter实现ConditionalGenericConverter{
@凌驾
公共集getConvertibleTypes(){
Set pairs=新的LinkedHashSet();
add(新的ConditionalGenericConverter.ConvertiblePair(Request.class,Response.class));
返回对;
}
@凌驾
公共对象转换(对象源、类型描述符源类型、类型描述符目标类型){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共布尔匹配(TypeDescriptor源类型、TypeDescriptor目标类型){
//TODO自动生成的方法存根
if(//request.isValid){
返回true;
}
返回false;
}

如果不调用转换类的
convert
方法,您将如何确定对象实例
source
是否将
isValid
字段设置为true?仅调用
matches
方法无法知道对象
convert
方法接收的状态。那么,为什么要避免调用g转换类。如果
isValid
设置为false,仍然调用转换器类并返回
null
有意义吗?如果设置为false,我的要求基于isValid标志。如果设置为false,我需要调用其他转换器。您将如何决定对象实例
是否具有
isValid
字段设置为true而不调用转换类的
convert
方法?仅调用
matches
方法无法知道对象
convert
方法接收的状态。那么,为什么要完全避免调用转换类。仍然调用转换类并返回
是否有意义>如果
isValid
设置为false,则为null
。我的要求基于isValid标志。如果设置为false,我需要调用其他转换器