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));