public class BeanPath extends Object implements Serializable
表达式栗子:
person person.name persons[3] person.friends[5].name ['person']['friends'][5]['name']
| 限定符和类型 | 字段和说明 |
|---|---|
private static char[] |
expChars
表达式边界符号数组
|
private boolean |
isStartWith$ |
protected List<String> |
patternParts |
private static long |
serialVersionUID |
| 限定符和类型 | 方法和说明 |
|---|---|
static BeanPath |
create(String expression)
解析Bean路径表达式为Bean模式
Bean表达式,用于获取多层嵌套Bean中的字段值或Bean对象 根据给定的表达式,查找Bean中对应的属性值对象。 |
private Object |
get(List<String> patternParts,
Object bean,
boolean ignoreLast)
获取Bean中对应表达式的值
|
Object |
get(Object bean)
获取Bean中对应表达式的值
|
private static Object |
getFieldValue(Object bean,
String expression) |
private void |
init(String expression)
初始化
|
private void |
set(Object bean,
List<String> patternParts,
Object value)
设置表达式指定位置(或filed对应)的值
若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 注意: 1. |
void |
set(Object bean,
Object value)
设置表达式指定位置(或filed对应)的值
若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 注意: 1. |
private static String |
unWrapIfPossible(CharSequence expression)
对于非表达式去除单引号
|
private static final long serialVersionUID
private static final char[] expChars
private boolean isStartWith$
public BeanPath(String expression)
expression - 表达式public static BeanPath create(String expression)
表达式栗子:
persion persion.name persons[3] person.friends[5].name ['person']['friends'][5]['name']
expression - 表达式BeanPathpublic Object get(Object bean)
bean - Bean对象或Map或List等public void set(Object bean, Object value)
1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值
bean - Bean、Map或Listvalue - 值private void set(Object bean, List<String> patternParts, Object value)
1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值
bean - Bean、Map或ListpatternParts - 表达式块列表value - 值private Object get(List<String> patternParts, Object bean, boolean ignoreLast)
patternParts - 表达式分段列表bean - Bean对象或Map或List等ignoreLast - 是否忽略最后一个值,忽略最后一个值则用于set,否则用于readprivate void init(String expression)
expression - 表达式private static String unWrapIfPossible(CharSequence expression)
expression - 表达式Copyright © 2020. All rights reserved.