X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2FThroughput.java;h=266ddbc5885c0f0f75cdcdd9774a59acb96244e4;hb=3c1cdc594d954520b14646102b366290bdad58c7;hp=e5bc96101582c6a739a395b501d1a0a186ebaf6b;hpb=77a5498dd5d10d2442127022efd6501a7dbddbae;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/Throughput.java b/org.argeo.util/src/org/argeo/util/Throughput.java index e5bc96101..266ddbc58 100644 --- a/org.argeo.util/src/org/argeo/util/Throughput.java +++ b/org.argeo.util/src/org/argeo/util/Throughput.java @@ -1,27 +1,12 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package org.argeo.util; import java.text.NumberFormat; import java.text.ParseException; import java.util.Locale; +/** A throughput, that is, a value per unit of time. */ public class Throughput { - private final static NumberFormat usNumberFormat = NumberFormat - .getInstance(Locale.US); + private final static NumberFormat usNumberFormat = NumberFormat.getInstance(Locale.US); public enum Unit { s, m, h, d @@ -45,7 +30,7 @@ public class Throughput { else if (unit.equals(Unit.d)) value = ((double) count * 24d * 60d * 60d * 1000d) / periodMs; else - throw new UtilsException("Unsupported unit " + unit); + throw new IllegalArgumentException("Unsupported unit " + unit); this.unit = unit; } @@ -56,15 +41,14 @@ public class Throughput { public Throughput(String def) { int index = def.indexOf('/'); if (def.length() < 3 || index <= 0 || index != def.length() - 2) - throw new UtilsException(def + " no a proper throughput definition" - + " (should be /, e.g. 3.54/s or 1500/h"); + throw new IllegalArgumentException( + def + " no a proper throughput definition" + " (should be /, e.g. 3.54/s or 1500/h"); String valueStr = def.substring(0, index); String unitStr = def.substring(index + 1); try { this.value = usNumberFormat.parse(valueStr).doubleValue(); } catch (ParseException e) { - throw new UtilsException("Cannot parse " + valueStr - + " as a number.", e); + throw new IllegalArgumentException("Cannot parse " + valueStr + " as a number.", e); } this.unit = Unit.valueOf(unitStr); } @@ -79,7 +63,7 @@ public class Throughput { else if (unit.equals(Unit.d)) return Math.round((24d * 60d * 60d * 1000d) / value); else - throw new UtilsException("Unsupported unit " + unit); + throw new IllegalArgumentException("Unsupported unit " + unit); } @Override