001package com.pi4j.temperature; 002 003/* 004 * #%L 005 * ********************************************************************** 006 * ORGANIZATION : Pi4J 007 * PROJECT : Pi4J :: Java Library (Core) 008 * FILENAME : TemperatureScale.java 009 * 010 * This file is part of the Pi4J project. More information about 011 * this project can be found here: https://www.pi4j.com/ 012 * ********************************************************************** 013 * %% 014 * Copyright (C) 2012 - 2019 Pi4J 015 * %% 016 * This program is free software: you can redistribute it and/or modify 017 * it under the terms of the GNU Lesser General Public License as 018 * published by the Free Software Foundation, either version 3 of the 019 * License, or (at your option) any later version. 020 * 021 * This program is distributed in the hope that it will be useful, 022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 024 * GNU General Lesser Public License for more details. 025 * 026 * You should have received a copy of the GNU General Lesser Public 027 * License along with this program. If not, see 028 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 029 * #L% 030 */ 031 032@SuppressWarnings("unused") 033public enum TemperatureScale { 034 035 CELSIUS("Celsius","°C",TemperatureConversion.ABSOLUTE_ZERO_CELSIUS), 036 FARENHEIT("Farenheit","°F", TemperatureConversion.ABSOLUTE_ZERO_FARENHEIT), 037 KELVIN("Kelvin","K", TemperatureConversion.ABSOLUTE_ZERO_KELVIN), 038 RANKINE("Rankine","°R", TemperatureConversion.ABSOLUTE_ZERO_RANKINE); 039 040 private String name; 041 private String units; 042 private double absoluteZero = 0; 043 044 TemperatureScale(String name, String units, double absoluteZero){ 045 this.name= name; 046 this.units = units; 047 this.absoluteZero = absoluteZero; 048 } 049 050 public String getName() { 051 return name; 052 } 053 054 public String getUnits() { 055 return units; 056 } 057 058 public String getValueString(double temperature) { 059 return temperature + " " + units; 060 } 061 062 public double getAbsoluteZero() { 063 return absoluteZero; 064 } 065 066 @Override 067 public String toString() { 068 return name; 069 } 070 071}