Package com.alibaba.tamper.core.config

Examples of com.alibaba.tamper.core.config.BeanMappingField


public class BeanCreatorValueProcess implements ValueProcess {

    @Override
    public Object process(Object value, ValueProcessInvocation invocation) throws BeanMappingException {
        if (value != null) {
            BeanMappingField currentField = invocation.getContext().getCurrentField();
            if (currentField.isMapping()) {
                // 判断下是否在处理嵌套的mapping
                // 这里的value代表从get取出来的嵌套对象,如果有值,说明在目标对象上也需要创建targetClass对象进行复制
                value = ReflectionHelper.newInstance(invocation.getContext().getCurrentField().getTargetField().getClazz());
            }
        }
View Full Code Here


    private final static Logger logger = LoggerFactory.getLogger(DebugValueProcess.class);

    @Override
    public Object process(Object value, ValueProcessInvocation invocation) throws BeanMappingException {
        BeanMappingField currentField = invocation.getContext().getCurrentField();
        if (currentField.isMapping() == false && invocation.getContext().getBeanObject().getBehavior().isDebug()
            && logger.isDebugEnabled()) {
            StringBuilder builder = new StringBuilder();
            builder.append("srcName[" + currentField.getSrcField().getName());
            builder.append("],srcClass[" + ObjectUtils.toString(currentField.getSrcField().getClazz(), "null"));
            builder.append("],targetName[" + currentField.getTargetField().getName());
            builder.append("],targetClass[" + ObjectUtils.toString(currentField.getTargetField().getClazz(), "null"));
            if (StringUtils.isNotEmpty(currentField.getDefaultValue())) {
                builder.append("],[defaultValue=" + currentField.getDefaultValue());
            }
            if (StringUtils.isNotEmpty(currentField.getConvertor())) {
                builder.append("],[convertor=" + currentField.getConvertor());
            }
            if (StringUtils.isNotEmpty(currentField.getScript())) {
                builder.append("],[script=" + currentField.getScript());
            }
            builder.append("], Value = " + ObjectUtils.toString(value, "null"));
            logger.debug(builder.toString());
        }
        return invocation.proceed(value); // 继续传递
View Full Code Here

    }

    public BeanMappingFieldBuilder(BeanMappingFieldAttributesBuilder srcField,
                                   BeanMappingFieldAttributesBuilder targetField, boolean mapping,
                                   BeanMappingBehavior parent){
        field = new BeanMappingField();
        field.setSrcField(srcField.get());
        field.setTargetField(targetField.get());
        field.setMapping(mapping);
        field.setBehavior(parent.clone());
    }
View Full Code Here

TOP

Related Classes of com.alibaba.tamper.core.config.BeanMappingField

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.