You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2016/09/11 12:29:05 UTC
[lang] Revert "[LANG-1201] Add a TimeUnit-like classes for base 2 and
base 10 digital"
Repository: commons-lang
Updated Branches:
refs/heads/master 0b11c6043 -> 8d682a6aa
Revert "[LANG-1201] Add a TimeUnit-like classes for base 2 and base 10 digital"
This reverts commit 04e52eb6155b3cbf5fffc0d52689a3f679e40b19.
Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/8d682a6a
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/8d682a6a
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/8d682a6a
Branch: refs/heads/master
Commit: 8d682a6aa32964811e971f58e36b418605ba4233
Parents: 0b11c60
Author: Benedikt Ritter <be...@gmail.com>
Authored: Sun Sep 11 14:28:25 2016 +0200
Committer: Benedikt Ritter <be...@gmail.com>
Committed: Sun Sep 11 14:28:25 2016 +0200
----------------------------------------------------------------------
src/changes/changes.xml | 1 -
.../commons/lang3/DigitalBase10SizeUnit.java | 393 -----------------
.../commons/lang3/DigitalBase2SizeUnit.java | 434 -------------------
3 files changed, 828 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/8d682a6a/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8e7dccb..128ebe2 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -93,7 +93,6 @@ The <action> type attribute can be add,update,fix,remove.
<action issue="LANG-1220" type="add" dev="kinow" due-to="Casey Scarborough">Add tests for missed branches in DateUtils</action>
<action issue="LANG-1202" type="fix" dev="chas" due-to="Markus Jelsma">parseDateStrictly does't pass specified locale</action>
<action issue="LANG-1219" type="fix" dev="chas" due-to="Jarek">FastDateFormat doesn't respect summer daylight in some localized strings</action>
- <action issue="LANG-1201" type="add" dev="ggregory" due-to="Gary Gregory">Add a TimeUnit-like classes for base 2 and base 10 digital conversions (bits, bytes, KB, MB, and so on)</action>
<action issue="LANG-1146" type="add" dev="ggregory" due-to="Gabor Liptak">z/OS identification in SystemUtils</action>
<action issue="LANG-1210" type="update" dev="ggregory" due-to="Matthias Niehoff">StringUtils#startsWithAny has error in Javadoc</action>
<action issue="LANG-1208" type="update" dev="bayard" due-to="Samuel Karp">StrSubstitutor can preserve escapes</action>
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/8d682a6a/src/main/java/org/apache/commons/lang3/DigitalBase10SizeUnit.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/DigitalBase10SizeUnit.java b/src/main/java/org/apache/commons/lang3/DigitalBase10SizeUnit.java
deleted file mode 100644
index 02c0415..0000000
--- a/src/main/java/org/apache/commons/lang3/DigitalBase10SizeUnit.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.commons.lang3;
-
-/**
- * A {@code DigitalBase10SizeUnit} represents digital size at a given unit of granularity and provides utility methods
- * to convert across units, and to perform sizing operations in these units. A {@code DigitalBase10SizeUnit} does not
- * maintain size information, but only helps organize and use size representations that may be maintained separately
- * across various contexts.
- * <p>
- * A bit is defined as one eighth (8) of a byte, a byte as one thousandth (1000) of a kilobyte, a kilobyte as as one
- * thousandth (1000) of a megabyte, a megabyte as one thousandth (1000) of a terabyte.
- * </p>
- *
- * @since 3.5
- * @see <a href="https://en.wikipedia.org/wiki/Binary_prefix">Binary prefix</a>
- * @see DigitalBase2SizeUnit
- */
-public enum DigitalBase10SizeUnit {
-
- /**
- * Bits.
- */
- BITS("b", "bit") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toBytes(s);
- }
-
- @Override
- public long toBits(final long size) {
- return size;
- }
-
- @Override
- public long toBytes(final long size) {
- return size / K1;
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / K4;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size / K2;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / K3;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / K5;
- }
- },
-
- /**
- * Bytes.
- */
- BYTES("B", "byte") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toBytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, MULB, Long.MAX_VALUE / (K1 / K0));
- }
-
- @Override
- public long toBytes(final long size) {
- return size;
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / K3;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size / K1;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / K2;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / K4;
- }
- },
-
- /**
- * Gigbytes (Gigabytes).
- */
- GIGABYTES("gigabyte", "G") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toGigabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K3, Long.MAX_VALUE / K2);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K3, Long.MAX_VALUE / K3);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K3 / K1, Long.MAX_VALUE / (K3 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return x(size, K3 / K2, Long.MAX_VALUE / (K3 / K2));
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K3);
- }
- },
-
- /**
- * Kibibytes (Kilobytes)
- */
- KILOBYTES("kilobytes", "K") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toKilobytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K1, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K1, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / (K3 / K1);
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / (K2 / K1);
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K1);
- }
- },
-
- /**
- * Mebibytes (Megabytes)
- */
- MEGABYTES("megabytes", "M") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toMegabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K2, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K2, Long.MAX_VALUE / K2);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / (K3 / K2);
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K2 / K1, Long.MAX_VALUE / (K2 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K2);
- }
- },
-
- /**
- * Tebibytes (Terabytes)
- */
- TERABYTES("terabyte", "T") {
- @Override
- public long convert(final long s, final DigitalBase10SizeUnit u) {
- return u.toTerabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K4, Long.MAX_VALUE / K3);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K4, Long.MAX_VALUE / K4);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return x(size, K4 / K3, Long.MAX_VALUE / (K4 / K3));
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K4 / K1, Long.MAX_VALUE / (K4 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return x(size, K4 / K2, Long.MAX_VALUE / (K4 / K2));
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size;
- }
- };
-
- private static final long MULB = 8L;
- private static final long MULK = 1000L;
- private static final long K0 = 1L;
- private static final long K1 = K0 * MULK;
- private static final long K2 = K1 * MULK;
- private static final long K3 = K2 * MULK;
- private static final long K4 = K3 * MULK;
- private static final long K5 = K4 * MULK;
-
- private static long x(final long d, final long m, final long over) {
- if (d > over) {
- return Long.MAX_VALUE;
- }
- if (d < -over) {
- return Long.MIN_VALUE;
- }
- return d * m;
- }
-
- private final String name;
- private final String symbol;
-
- /**
- * Creates a new enum with SI symbol and name.
- *
- * @param symbol
- * customary symbol
- * @param name
- * customary name
- *
- * @see <a href="https://en.wikipedia.org/wiki/Metric_prefix">SI</a>
- */
- private DigitalBase10SizeUnit(String symbol, String name) {
- this.name = symbol;
- this.symbol = name;
- }
-
- protected abstract long convert(final long sourceSize, final DigitalBase10SizeUnit sourceUnit);
-
- /**
- * Gets the name.
- *
- * @return the name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Gets the symbol.
- *
- * @return the symbol.
- */
- public String getSymbol() {
- return symbol;
- }
-
- /**
- * Equivalent to {@code BITS.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toBits(final long size);
-
- /**
- * Equivalent to {@code BYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toBytes(final long size);
-
- /**
- * Equivalent to {@code GIGABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toGigabytes(final long size);
-
- /**
- * Equivalent to {@code KILOBYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toKilobytes(final long size);
-
- /**
- * Equivalent to {@code MEGABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toMegabytes(final long size);
-
- /**
- * Equivalent to {@code TERABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toTerabytes(final long size);
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/8d682a6a/src/main/java/org/apache/commons/lang3/DigitalBase2SizeUnit.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/DigitalBase2SizeUnit.java b/src/main/java/org/apache/commons/lang3/DigitalBase2SizeUnit.java
deleted file mode 100644
index 39152a0..0000000
--- a/src/main/java/org/apache/commons/lang3/DigitalBase2SizeUnit.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.commons.lang3;
-
-/**
- * A {@code DigitalBase2SizeUnit} represents digital size at a given unit of granularity and provides utility methods to
- * convert across units, and to perform sizing operations in these units. A {@code DigitalBase2SizeUnit} does not
- * maintain size information, but only helps organize and use size representations that may be maintained separately
- * across various contexts.
- * <p>
- * A bit is defined as one eighth (8) of a byte, a byte as one thousand twenty fourth (1024) of a kilobyte, a kilobyte
- * as as one thousand twenty fourth (1024) of a megabyte, a megabyte as one thousand twenty fourth (1024) of a terabyte.
- * </p>
- *
- * @since 3.5
- * @see <a href="https://en.wikipedia.org/wiki/Binary_prefix">Binary prefix</a>
- * @see DigitalBase10SizeUnit
- */
-public enum DigitalBase2SizeUnit {
-
- /**
- * Bits.
- */
- BITS("b", "bit") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toBytes(s);
- }
-
- @Override
- public long toBits(final long size) {
- return size;
- }
-
- @Override
- public long toBytes(final long size) {
- return size / K1;
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / K4;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size / K2;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / K3;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / K5;
- }
- },
-
- /**
- * Bytes.
- */
- BYTES("B", "byte") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toBytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, MULB, Long.MAX_VALUE / (K1 / K0));
- }
-
- @Override
- public long toBytes(final long size) {
- return size;
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / K3;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size / K1;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / K2;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / K4;
- }
- },
-
- /**
- * Gigbytes (Gigabytes).
- */
- GIGABYTES("Gi", "gibibyte", "gigabyte", "G") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toGigabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K3, Long.MAX_VALUE / K2);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K3, Long.MAX_VALUE / K3);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size;
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K3 / K1, Long.MAX_VALUE / (K3 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return x(size, K3 / K2, Long.MAX_VALUE / (K3 / K2));
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K3);
- }
- },
-
- /**
- * Kibibytes (Kilobytes)
- */
- KILOBYTES("Ki", "kibibyte", "kilobytes", "K") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toKilobytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K1, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K1, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / (K3 / K1);
- }
-
- @Override
- public long toKilobytes(final long size) {
- return size;
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size / (K2 / K1);
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K1);
- }
- },
-
- /**
- * Mebibytes (Megabytes)
- */
- MEGABYTES("Mi", "mebibyte", "megabytes", "M") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toMegabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K2, Long.MAX_VALUE / K1);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K2, Long.MAX_VALUE / K2);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return size / (K3 / K2);
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K2 / K1, Long.MAX_VALUE / (K2 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return size;
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size / (K4 / K2);
- }
- },
-
- /**
- * Tebibytes (Terabytes)
- */
- TERABYTES("Ti", "tebibyte", "terabyte", "T") {
- @Override
- public long convert(final long s, final DigitalBase2SizeUnit u) {
- return u.toTerabytes(s);
- }
-
- @Override
- public long toBits(long size) {
- return x(size, K4, Long.MAX_VALUE / K3);
- }
-
- @Override
- public long toBytes(final long size) {
- return x(size, K4, Long.MAX_VALUE / K4);
- }
-
- @Override
- public long toGigabytes(final long size) {
- return x(size, K4 / K3, Long.MAX_VALUE / (K4 / K3));
- }
-
- @Override
- public long toKilobytes(final long size) {
- return x(size, K4 / K1, Long.MAX_VALUE / (K4 / K1));
- }
-
- @Override
- public long toMegabytes(final long size) {
- return x(size, K4 / K2, Long.MAX_VALUE / (K4 / K2));
- }
-
- @Override
- public long toTerabytes(final long size) {
- return size;
- }
- };
-
- private static final long MULB = 8L;
- private static final long MULK = 1024L;
- private static final long K0 = 1L;
- private static final long K1 = K0 * MULK;
- private static final long K2 = K1 * MULK;
- private static final long K3 = K2 * MULK;
- private static final long K4 = K3 * MULK;
- private static final long K5 = K4 * MULK;
-
- private static long x(final long d, final long m, final long over) {
- if (d > over) {
- return Long.MAX_VALUE;
- }
- if (d < -over) {
- return Long.MIN_VALUE;
- }
- return d * m;
- }
-
- private final String name;
- private final String symbol;
- private final String customarySymbol;
- private final String customaryName;
-
- /**
- * Creates a new enum with IEC symbol and name
- *
- * @param iecSymbol
- * IEC symbol
- * @param iecName
- * IEC name
- * @see <a href="https://en.wikipedia.org/wiki/IEC_80000-13">IEC 80000-13</a>
- */
- private DigitalBase2SizeUnit(String iecSymbol, String iecName) {
- this.name = iecName;
- this.symbol = iecName;
- this.customarySymbol = iecSymbol;
- this.customaryName = iecName;
- }
-
- /**
- * Creates a new enum with IEC symbol and name
- *
- * @param iecSymbol
- * IEC symbol
- * @param iecName
- * IEC name
- * @param customarySymbol
- * customary symbol
- * @param customaryName
- * customary name
- * @see <a href="https://en.wikipedia.org/wiki/IEC_80000-13">IEC 80000-13</a>
- */
- private DigitalBase2SizeUnit(String iecSymbol, String iecName, String customarySymbol, String customaryName) {
- this.name = iecName;
- this.symbol = iecName;
- this.customarySymbol = customarySymbol;
- this.customaryName = customaryName;
- }
-
- protected abstract long convert(final long sourceSize, final DigitalBase2SizeUnit sourceUnit);
-
- /**
- * Gets the customary name.
- *
- * @return the customary name.
- */
- public String getCustomaryName() {
- return customaryName;
- }
-
- /**
- * Gets the customary symbol.
- *
- * @return the customary symbol.
- */
- public String getCustomarySymbol() {
- return customarySymbol;
- }
-
- /**
- * Gets the name.
- *
- * @return the name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Gets the symbol.
- *
- * @return the symbol.
- */
- public String getSymbol() {
- return symbol;
- }
-
- /**
- * Equivalent to {@code BITS.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toBits(final long size);
-
- /**
- * Equivalent to {@code BYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toBytes(final long size);
-
- /**
- * Equivalent to {@code GIGABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toGigabytes(final long size);
-
- /**
- * Equivalent to {@code KILOBYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toKilobytes(final long size);
-
- /**
- * Equivalent to {@code MEGABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toMegabytes(final long size);
-
- /**
- * Equivalent to {@code TERABYTES.convert(size, this)}.
- *
- * @param size
- * the size
- * @return the converted size
- * @see #convert
- */
- public abstract long toTerabytes(final long size);
-
-}
\ No newline at end of file