package com.qianwen.core.tool.metadata.unit; import java.util.function.Function; import java.util.stream.Stream; import com.qianwen.core.tool.utils.StringPool; /* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/metadata/unit/UnifyUnit.class */ public enum UnifyUnit implements ValueUnit { percent("百分比", StringPool.PERCENT, "常用单位", "百分比(%)"), count("次", "count", "常用单位", "次"), turnPerSeconds("转每分钟", "r/min", "常用单位", "转每分钟"), nanometer("纳米", "nm", "长度单位", "长度单位:纳米(nm)"), micron("微米", "μm", "长度单位", "长度单位:微米(μm)"), millimeter("毫米", "mm", "长度单位", "长度单位:毫米(mm)"), centimeter("厘米", "cm", "长度单位", "长度单位:厘米(cm)"), meter("米", "m", "长度单位", "长度单位:米(m)"), kilometer("千米", "km", "长度单位", "长度单位:千米(km)"), squareMillimeter("平方毫米", "mm²", "面积单位", "面积单位:平方毫米(mm²)"), squareCentimeter("平方厘米", "cm²", "面积单位", "面积单位:平方厘米(cm²)"), squareMeter("平方米", "m²", "面积单位", "面积单位:平方米(m²)"), squareKilometer("平方千米", "km²", "面积单位", "面积单位:平方千米(km²)"), hectare("公顷", "hm²", "面积单位", "面积单位:公顷(hm²)"), days("天", "d", "时间单位", "时间单位:天(d)"), hour("小时", "h", "时间单位", "时间单位:小时(h)"), minutes("分钟", "min", "时间单位", "时间单位:分钟(m)"), seconds("秒", "s", "时间单位", "时间单位:秒(s)"), milliseconds("毫秒", "ms", "时间单位", "时间单位:毫秒(ms)"), microseconds("微秒", "μs", "时间单位", "时间单位:微秒(μs)"), nanoseconds("纳秒", "ns", "时间单位", "时间单位:纳秒(ns)"), cubicMillimeter("立方毫米", "mm³", "体积单位", "体积单位:立方毫米(mm³)"), cubicCentimeter("立方厘米", "cm³", "体积单位", "体积单位:立方厘米(cm³)"), cubicMeter("立方米", "m³", "体积单位", "体积单位:立方米(m³)"), cubicKilometer("立方千米", "km³", "体积单位", "体积单位:立方千米(km³)"), cubicMeterPerSec("立方米每秒", "m³/s", "流量单位", "流量单位:立方米每秒(m³/s)"), cubicKilometerPerSec("立方千米每秒", "km³/s", "流量单位", "流量单位:立方千米每秒(km³/s)"), cubicCentimeterPerSec("立方厘米每秒", "cm³/s", "流量单位", "流量单位:立方厘米每秒(cm³/s)"), litrePerSec("升每秒", "l/s", "流量单位", "流量单位:升每秒(l/s)"), cubicMeterPerHour("立方米每小时", "m³/h", "流量单位", "流量单位:立方米每小时(m³/h)"), cubicKilometerPerHour("立方千米每小时", "km³/h", "流量单位", "流量单位:立方千米每小时(km³/h)"), cubicCentimeterPerHour("立方厘米每小时", "cm³/h", "流量单位", "流量单位:立方厘米每小时(cm³/h)"), litrePerHour("升每小时", "l/h", "流量单位", "流量单位:升每小时(l/h)"), milliliter("毫升", "mL", "容积单位", "容积单位:毫升(mL)"), litre("升", "L", "容积单位", "容积单位:升(L)"), milligram("毫克", "mg", "质量单位", "重量单位:毫克(mg)"), gramme("克", "g", "质量单位", "重量单位:克(g)"), kilogram("千克", "kg", "质量单位", "重量单位:千克(kg)"), ton("吨", "t", "质量单位", "重量单位:吨(t)"), pascal("帕斯卡", "Pa", "压力单位", "压力单位:帕斯卡(Pa)"), kiloPascal("千帕斯卡", "kPa", "压力单位", "压力单位:千帕斯卡(kPa)"), newton("牛顿", "N", "力单位", "力单位:牛顿(N)"), newtonMeter("牛·米", "N.m", "力单位", "力单位:牛·米(N.m)"), kelvin("开尔文", "K", "温度单位", "温度单位:开尔文(K)"), celsiusDegrees("摄氏度", "℃", "温度单位", "温度单位:摄氏度(℃)"), fahrenheit("华氏度", "℉", "温度单位", "温度单位:华氏度(℉)"), joule("焦耳", "J", "能量单位", "能单位:焦耳(J)"), cal("卡", "cal", "能量单位", "能单位:卡(cal)"), watt("瓦特", "W", "功率单位", "功率单位:瓦特(W)"), kilowatt("千瓦特", "kW", "功率单位", "功率单位:千瓦特(kW)"), radian("弧度", "rad", "角度单位", "角度单位:弧度(rad)"), degrees("度", "°", "角度单位", "角度单位:度(°)"), fen("[角]分", "′", "角度单位", "角度单位:分(′)"), angleSeconds("[角]秒", "″", "角度单位", "角度单位:度(″)"), hertz("赫兹", "Hz", "频率单位", "频率单位:赫兹(Hz)"), megahertz("兆赫兹", "MHz", "频率单位", "频率单位:兆赫兹(MHz)"), ghertz("G赫兹", "GHz", "频率单位", "频率单位:G赫兹(GHz)"), mPerSec("米每秒", "m/s", "速度单位", "速度单位:米每秒(m/s)"), kmPerHr("千米每小时", "km/h", "速度单位", "速度单位:千米每小时(km/h)"), knots("节", "kn", "速度单位", "速度单位:节(kn)"), volt("伏特", "V", "电力单位", "电压:伏特(V)"), kiloVolt("千伏", "kV", "电力单位", "电压:千伏(kV)"), milliVolt("毫伏", "mV", "电力单位", "电压:毫伏(mV)"), microVolt("微伏", "μV", "电力单位", "电压:微伏(μV)"), ampere("安培", "A", "电力单位", "电流:安培(A)"), milliAmpere("毫安", "mA", "电力单位", "电流:毫安(mA)"), microAmpere("微安", "μA", "电力单位", "电流:微安(μA)"), nanoAmpere("纳安", "nA", "电力单位", "电流:纳安(nA)"), ohm("欧姆", "Ω", "电力单位", "电阻:欧姆(Ω)"), kiloOhm("千欧", "KΩ", "电力单位", "电阻:千欧(KΩ)"), millionOhm("兆欧", "MΩ", "电力单位", "电阻:兆欧(MΩ)"), electronVolts("电子伏", "eV", "电力单位", "能单位:电子伏(eV)"), kWattsHour("千瓦·时", "kW·h", "电力单位", "能单位:千瓦·时(kW·h)"); private final String name; private final String symbol; private final String type; private final String description; UnifyUnit(final String name, final String symbol, final String type, final String description) { this.name = name; this.symbol = symbol; this.type = type; this.description = description; } @Override // org.springblade.core.tool.metadata.Metadata public String getName() { return this.name; } @Override // org.springblade.core.tool.metadata.unit.ValueUnit public String getSymbol() { return this.symbol; } public String getType() { return this.type; } @Override // org.springblade.core.tool.metadata.Metadata public String getDescription() { return this.description; } @Override // org.springblade.core.tool.metadata.Metadata public String getId() { return name(); } @Override // org.springblade.core.tool.metadata.FormatSupport public String format(Object value) { return String.format("%s%s", value, getSymbol()); } static Function template(String strTemplate) { return o -> { return String.format(strTemplate, o); }; } public static UnifyUnit of(String value) { return Stream.of(values()) .filter(unifyUnit -> (unifyUnit.getId().equals(value) || unifyUnit.getSymbol().equals(value))) .findFirst() .orElse(null); /* return (UnifyUnit) Stream.of((Object[]) values()).filter(unifyUnit -> { return unifyUnit.getId().equals(value) || unifyUnit.getSymbol().equals(value); }).findFirst().orElse(null); */ } }