org.springframework.core.convert.TypeDescriptor#isMap ( )源码实例Demo

下面列出了org.springframework.core.convert.TypeDescriptor#isMap ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: canal-1.1.3   文件: RelaxedDataBinder.java
private void extendCollectionIfNecessary(BeanWrapper wrapper, RelaxedDataBinder.BeanPath path, int index) {
    String name = path.prefix(index);
    TypeDescriptor elementDescriptor = wrapper.getPropertyTypeDescriptor(name).getElementTypeDescriptor();
    if (!elementDescriptor.isMap() && !elementDescriptor.isCollection()
        && !elementDescriptor.getType().equals(Object.class)) {
        return;
    }
    Object extend = new LinkedHashMap<String, Object>();
    if (!elementDescriptor.isMap() && path.isArrayIndex(index)) {
        extend = new ArrayList<Object>();
    }
    wrapper.setPropertyValue(path.prefix(index + 1), extend);
}
 
源代码2 项目: canal-1.1.3   文件: RelaxedDataBinder.java
private void extendMapIfNecessary(BeanWrapper wrapper, RelaxedDataBinder.BeanPath path, int index) {
    String name = path.prefix(index);
    TypeDescriptor parent = wrapper.getPropertyTypeDescriptor(name);
    if (parent == null) {
        return;
    }
    TypeDescriptor descriptor = parent.getMapValueTypeDescriptor();
    if (descriptor == null) {
        descriptor = TypeDescriptor.valueOf(Object.class);
    }
    if (!descriptor.isMap() && !descriptor.isCollection() && !descriptor.getType().equals(Object.class)) {
        return;
    }
    String extensionName = path.prefix(index + 1);
    if (wrapper.isReadableProperty(extensionName)) {
        Object currentValue = wrapper.getPropertyValue(extensionName);
        if ((descriptor.isCollection() && currentValue instanceof Collection)
            || (!descriptor.isCollection() && currentValue instanceof Map)) {
            return;
        }
    }
    Object extend = new LinkedHashMap<String, Object>();
    if (descriptor.isCollection()) {
        extend = new ArrayList<Object>();
    }
    if (descriptor.getType().equals(Object.class) && path.isLastNode(index)) {
        extend = BLANK;
    }
    wrapper.setPropertyValue(extensionName, extend);
}
 
源代码3 项目: canal   文件: RelaxedDataBinder.java
private void extendCollectionIfNecessary(BeanWrapper wrapper, RelaxedDataBinder.BeanPath path, int index) {
    String name = path.prefix(index);
    TypeDescriptor elementDescriptor = wrapper.getPropertyTypeDescriptor(name).getElementTypeDescriptor();
    if (!elementDescriptor.isMap() && !elementDescriptor.isCollection()
        && !elementDescriptor.getType().equals(Object.class)) {
        return;
    }
    Object extend = new LinkedHashMap<String, Object>();
    if (!elementDescriptor.isMap() && path.isArrayIndex(index)) {
        extend = new ArrayList<Object>();
    }
    wrapper.setPropertyValue(path.prefix(index + 1), extend);
}
 
源代码4 项目: canal   文件: RelaxedDataBinder.java
private void extendMapIfNecessary(BeanWrapper wrapper, RelaxedDataBinder.BeanPath path, int index) {
    String name = path.prefix(index);
    TypeDescriptor parent = wrapper.getPropertyTypeDescriptor(name);
    if (parent == null) {
        return;
    }
    TypeDescriptor descriptor = parent.getMapValueTypeDescriptor();
    if (descriptor == null) {
        descriptor = TypeDescriptor.valueOf(Object.class);
    }
    if (!descriptor.isMap() && !descriptor.isCollection() && !descriptor.getType().equals(Object.class)) {
        return;
    }
    String extensionName = path.prefix(index + 1);
    if (wrapper.isReadableProperty(extensionName)) {
        Object currentValue = wrapper.getPropertyValue(extensionName);
        if ((descriptor.isCollection() && currentValue instanceof Collection)
            || (!descriptor.isCollection() && currentValue instanceof Map)) {
            return;
        }
    }
    Object extend = new LinkedHashMap<String, Object>();
    if (descriptor.isCollection()) {
        extend = new ArrayList<Object>();
    }
    if (descriptor.getType().equals(Object.class) && path.isLastNode(index)) {
        extend = BLANK;
    }
    wrapper.setPropertyValue(extensionName, extend);
}