package com.tofly.common.oauth.config;

import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.wrapper.ObjectWrapper;
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;

import java.util.Map;

/**
 * @author Administrator
 * @date 2019/10/28  15:07
 */
public class MapWrapperFactory implements ObjectWrapperFactory {
    @Override
    public boolean hasWrapperFor(Object o) {
        return o != null && o instanceof Map;
    }

    @Override
    public ObjectWrapper getWrapperFor(MetaObject metaObject, Object o) {
//        Map<String, Object> handlermap= new HashMap();
//        DateFormat sdf = new SimpleDateFormat(DateUtil.DATETIME_DEFAULT_FORMAT);
//        Map<String ,Object> map = (Map)o;
//
//        map.forEach((K,V)->{
//            if(V instanceof Timestamp){
//                handlermap.put(K,sdf.format(V));
//            }else{
//                handlermap.put(K,V);
//            }
//        });
        return new MapKeyLowerWrapper(metaObject,(Map)o);
    }
}
