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

com.hfg.units.SI_System Maven / Gradle / Ivy

There is a newer version: 20240423
Show newest version
package com.hfg.units;


import java.util.HashMap;
import java.util.Map;

import com.hfg.units.length.LengthUnit;

//------------------------------------------------------------------------------
/**
 International System of Units.
 
@author J. Alex Taylor, hairyfatguy.com
*/ //------------------------------------------------------------------------------ // com.hfg XML/HTML Coding Library // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library 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 // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com // [email protected] //------------------------------------------------------------------------------ public class SI_System extends MeasurementSystem { private Map mBaseUnitMap; private static SI_System sInstance; //########################################################################### // CONSTRUCTORS //########################################################################### //--------------------------------------------------------------------------- protected SI_System() { super("International system", "SI"); } //########################################################################### // PUBLIC METHODS //########################################################################### //--------------------------------------------------------------------------- public static synchronized SI_System getInstance() { if (null == sInstance) { sInstance = new SI_System(); } return sInstance; } //########################################################################### // PROTECTED METHODS //########################################################################### //--------------------------------------------------------------------------- protected synchronized Map getBaseUnitMap() { if (null == mBaseUnitMap) { mBaseUnitMap = new HashMap<>(); mBaseUnitMap.put(QuantityType.LENGTH, LengthUnit.meter); mBaseUnitMap.put(QuantityType.TIME, TimeUnit.second); mBaseUnitMap.put(QuantityType.MASS, new Unit(new SubUnit(MassUnit.gram, SI_ScalingFactor.kilo))); mBaseUnitMap.put(QuantityType.TIME, TimeUnit.second); mBaseUnitMap.put(QuantityType.TEMPERATURE, TemperatureUnit.Celcius); mBaseUnitMap.put(QuantityType.AMOUNT_OF_SUBSTANCE, AmountOfSubstanceUnit.mole); mBaseUnitMap.put(QuantityType.ELECTRIC_CURRENT, ElectricCurrentUnit.ampere); mBaseUnitMap.put(QuantityType.LUMINOUS_INTENSITY, LuminousIntensityUnit.candela); mBaseUnitMap.put(QuantityType.CATALYTIC_ACTIVITY, CatalyticActivityUnit.katal); /* mBaseUnitMap.put(BaseQuantity.AMOUNT_OF_SUBSTANCE, SubstanceUnit.mole); mBaseUnitMap.put(BaseQuantity.ELECTRIC_CURRENT, CurrentUnit.ampere); */ mBaseUnitMap.put(QuantityType.AREA, AreaUnit.sq_meter); } return mBaseUnitMap; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy