L - 输入类型R - 输出容器类型, 如 List, Set, Map, Arrayprotected static class BaseTypeTransformer.SplitTransformer<L,R> extends BaseTypeTransformer.BaseFunction<L,R>
input分割转换为指定的容器类型的转换器L --> Iterable<L> --> Iterable<E>间接转换实现,
实现的前提是子类要提供L --> Iterable<L>的分割转换器input为 String,如果提供了String --> List<String>的转换器,
就可以实现 String --> List<Date>,String --> List<File>,String --> Interger[]的转换input为 null或空,则返回 nullbuiltinInputContext, feature, inputFeature, inputType, localContext, outputType, typeTransformer| 限定符 | 构造器和说明 |
|---|---|
protected |
SplitTransformer(BaseTypeTransformer typeTransformer) |
protected |
SplitTransformer(BaseTypeTransformer typeTransformer,
com.google.common.reflect.TypeToken<L> leftType,
com.google.common.reflect.TypeToken<R> rightType) |
protected |
SplitTransformer(BaseTypeTransformer typeTransformer,
java.lang.reflect.Type leftType,
java.lang.reflect.Type rightType) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected R |
doApply(L input,
TransformerContext.LocalContext ltx,
BaseTypeTransformer.BaseFunction<?,?> thisFun)
inputType -> Iterable<inputType> -> outputType |
apply, apply, toStringprotected SplitTransformer(BaseTypeTransformer typeTransformer)
protected SplitTransformer(BaseTypeTransformer typeTransformer, java.lang.reflect.Type leftType, java.lang.reflect.Type rightType)
protected SplitTransformer(BaseTypeTransformer typeTransformer, com.google.common.reflect.TypeToken<L> leftType, com.google.common.reflect.TypeToken<R> rightType)
protected R doApply(L input, TransformerContext.LocalContext ltx, BaseTypeTransformer.BaseFunction<?,?> thisFun) throws java.lang.Exception
inputType -> Iterable<inputType> -> outputTypedoApply 在类中 BaseTypeTransformer.BaseFunction<L,R>input - 非null输入值ltx - 本地上下文thisFun - 当前转换器对象,一般情况下,该就是当前对象,但是对于代理转换器,该参数为代理转换器对象,参见
BaseTypeTransformer.BaseFunction.replaceOutputTypeNoEqual(TypeToken, TypeToken)java.lang.Exception - 转换过程可能抛出的异常Copyright © 2025. All Rights Reserved.