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

org.kasource.kaevent.example.guice.custom.TempratureMethodResolver Maven / Gradle / Ivy

The newest version!
package org.kasource.kaevent.example.guice.custom;

import java.lang.reflect.Method;

import org.kasource.commons.util.reflection.MethodUtils;
import org.kasource.kaevent.event.method.MethodResolver;
import org.kasource.kaevent.example.guice.custom.event.TemperatureChangeEvent;
import org.kasource.kaevent.example.guice.custom.event.TemperatureChangeListener;

/**
 * @author rikardwigforss
 * 
 */
//CHECKSTYLE:OFF
///CLOVER:OFF
public class TempratureMethodResolver implements MethodResolver {
    
    private double optimalTemp;

    public TempratureMethodResolver(double optimalTemp) {
        this.optimalTemp = optimalTemp;
    }

    @Override
    public Method resolveMethod(TemperatureChangeEvent event, Object target) {
    	System.out.println("Resolve method");
        if (event.getCurrentTemperature() > optimalTemp) {
            return MethodUtils.getDeclaredMethod(TemperatureChangeListener.class, "highTemperature",
                    TemperatureChangeEvent.class);
        } else if (event.getCurrentTemperature() > 10) {
            return MethodUtils.getDeclaredMethod(TemperatureChangeListener.class, "mediumTemperature",
                    TemperatureChangeEvent.class);
        } else {
            return MethodUtils.getDeclaredMethod(TemperatureChangeListener.class, "lowTemperature",
                    TemperatureChangeEvent.class);
        }
    }

    /**
     * @return the optimalTemp
     */
    public double getOptimalTemp() {
        return optimalTemp;
    }

    /**
     * @param optimalTemp
     *            the optimalTemp to set
     */
    public void setOptimalTemp(double optimalTemp) {
        this.optimalTemp = optimalTemp;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy