You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/10/22 13:45:31 UTC
[commons-numbers] 01/05: Class is conceptually a singleton.
This is an automated email from the ASF dual-hosted git repository.
erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 450287f3d6967c0148a9b616a5f5667795a3bace
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
AuthorDate: Tue Oct 22 10:46:47 2019 +0200
Class is conceptually a singleton.
---
.../main/java/org/apache/commons/numbers/field/FP64Field.java | 10 ++++++++++
.../java/org/apache/commons/numbers/field/FractionField.java | 11 +++++++++++
.../java/org/apache/commons/numbers/field/FieldsList.java | 4 ++--
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java
index 491c8d4..8d929af 100644
--- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java
+++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java
@@ -24,6 +24,16 @@ public class FP64Field extends AbstractField<FP64> {
private static final FP64 ZERO = FP64.of(0d);
/** 1d */
private static final FP64 ONE = FP64.of(1d);
+ /** Singleton. */
+ private static final FP64Field INSTANCE = new FP64Field();
+
+ /** Singleton. */
+ private FP64Field() {}
+
+ /** @return the field instance. */
+ public static FP64Field get() {
+ return INSTANCE;
+ }
/** {@inheritDoc} */
@Override
diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java
index 941225d..0cb9dc8 100644
--- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java
+++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java
@@ -22,6 +22,17 @@ import org.apache.commons.numbers.fraction.Fraction;
* {@link Fraction} field.
*/
public class FractionField extends AbstractField<Fraction> {
+ /** Singleton. */
+ private static final FractionField INSTANCE = new FractionField();
+
+ /** Singleton. */
+ private FractionField() {}
+
+ /** @return the field instance. */
+ public static FractionField get() {
+ return INSTANCE;
+ }
+
/** {@inheritDoc} */
@Override
public Fraction one() {
diff --git a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
index 76a15cd..a3c9143 100644
--- a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
+++ b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
@@ -34,11 +34,11 @@ final class FieldsList {
static {
try {
// List of fields to test.
- add(new FractionField(),
+ add(FractionField.get(),
Fraction.of(13, 4),
Fraction.of(5, 29),
Fraction.of(-279, 11));
- add(new FP64Field(),
+ add(FP64Field.get(),
FP64.of(23.45678901),
FP64.of(-543.2109876),
FP64.of(-234.5678901));