/*
* AndFHEM - Open Source Android application to control a FHEM home automation
* server.
*
* Copyright (c) 2011, Matthias Klass or third-party contributors as
* indicated by the @author tags or express copyright attribution
* statements applied by the authors. All third-party contributions are
* distributed under license by Red Hat Inc.
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU GENERAL PUBLIC LICENSE, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GENERAL PUBLIC LICENSE
* for more details.
*
* You should have received a copy of the GNU GENERAL PUBLIC LICENSE
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301 USA
*/
package li.klass.fhem.util;
import com.google.common.base.Strings;
public class ValueDescriptionUtil {
public static final String C = "°C";
public static final String PERCENT = "%";
public static final String M_S = "m/s";
public static final String L = "l";
public static final String KWH = "kWh";
public static final String LUX = "lux";
public static final String PPM = "ppm";
public static String appendPercent(Object text) {
return append(text, PERCENT);
}
public static String append(Object text, String appendix) {
return text + " (" + appendix + ")";
}
public static String appendL(Object text) {
return append(text, L);
}
public static String appendKWh(Object text) {
return append(text, KWH);
}
public static String appendPpm(Object text) {
return append(text, PPM);
}
public static String appendV(String voltage) {
return append(voltage, "V");
}
public static String appendW(String power) {
return append(power, "W");
}
public static String appendHz(String frequency) {
return append(frequency, "Hz");
}
public static String desiredTemperatureToString(double temperature, double minTemp, double maxTemp) {
if (temperature == minTemp) {
return "off";
} else if (temperature == maxTemp) {
return "on";
} else {
return appendTemperature(temperature);
}
}
public static String appendTemperature(Object text) {
return append(text, C);
}
public static String secondsToTimeString(int seconds) {
int hours;
int minutes;
hours = seconds / 3600;
seconds -= (hours * 3600);
minutes = seconds / 60;
seconds -= (minutes * 60);
String out = "";
if (hours > 0) {
out = appendToString(out, hours + " (h)");
}
if (minutes > 0) {
out = appendToString(out, minutes + " (m)");
}
if (seconds > 0) {
out = appendToString(out, seconds + " (s)");
}
return out;
}
private static String appendToString(String string, String toAppend) {
if (!Strings.isNullOrEmpty(string)) {
string += " ";
}
return string + toAppend;
}
}