Multiple user referentials working with IPA.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / Throughput.java
index d081189e2c51e520fb9bedab0f274328477dd17e..266ddbc5885c0f0f75cdcdd9774a59acb96244e4 100644 (file)
@@ -1,29 +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;
 
-import org.argeo.ArgeoException;
-
+/** 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
@@ -47,7 +30,7 @@ public class Throughput {
                else if (unit.equals(Unit.d))
                        value = ((double) count * 24d * 60d * 60d * 1000d) / periodMs;
                else
-                       throw new ArgeoException("Unsupported unit " + unit);
+                       throw new IllegalArgumentException("Unsupported unit " + unit);
                this.unit = unit;
        }
 
@@ -58,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 ArgeoException(def + " no a proper throughput definition"
-                                       + " (should be <value>/<unit>, e.g. 3.54/s or 1500/h");
+                       throw new IllegalArgumentException(
+                                       def + " no a proper throughput definition" + " (should be <value>/<unit>, 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 ArgeoException("Cannot parse " + valueStr
-                                       + " as a number.", e);
+                       throw new IllegalArgumentException("Cannot parse " + valueStr + " as a number.", e);
                }
                this.unit = Unit.valueOf(unitStr);
        }
@@ -81,7 +63,7 @@ public class Throughput {
                else if (unit.equals(Unit.d))
                        return Math.round((24d * 60d * 60d * 1000d) / value);
                else
-                       throw new ArgeoException("Unsupported unit " + unit);
+                       throw new IllegalArgumentException("Unsupported unit " + unit);
        }
 
        @Override