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

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

package com.moon.runner.core;

/**
 * @author moonsky
 */
class GetOpposite implements AsGetter {
    final AsRunner handler;

    GetOpposite(AsRunner handler) {
        this.handler = handler;
    }

    @Override
    public Object run(Object data) {
        Object value = handler.run(data);
        if (value instanceof Integer) {
            return -((Integer) value).intValue();
        } else if (value instanceof Double || value instanceof Float) {
            return -((Number) value).doubleValue();
        } else if (value instanceof Long) {
            return -((Number) value).longValue();
        } else if (value instanceof Number) {
            return -((Number) value).intValue();
        }
        throw new IllegalArgumentException(toString());
    }

    @Override
    public String toString() { return "-" + handler.toString(); }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy