All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.moon.runner.core.IGetVal Maven / Gradle / Ivy

package com.moon.runner.core;

import com.moon.core.lang.reflect.FieldUtil;
import com.moon.core.util.ListUtil;
import com.moon.core.util.MapUtil;

import java.util.List;
import java.util.Map;

/**
 * @author moonsky
 */
enum IGetVal implements IGetter {
    MAP {
        @Override
        public boolean test(Object o) { return o instanceof Map; }

        @Override
        public Object apply(Object o, Object o2) { return MapUtil.getByObject(o, o2); }
    },
    LIST {
        @Override
        public boolean test(Object o) { return o instanceof List; }

        @Override
        public Object apply(Object o, Object o2) { return ListUtil.getByObject(o, ((Number) o2).intValue()); }
    },
    BEAN {
        @Override
        public boolean test(Object o) {
            return !(o instanceof Map || (o instanceof List) || o.getClass().isArray());
        }

        @Override
        public Object apply(Object o, Object o2) { return FieldUtil.getValue(o2.toString(), o, true); }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy