]> git.mxchange.org Git - jphone-core.git/blobdiff - src/org/mxchange/jphone/model/phonenumbers/fax/FaxNumbers.java
Continued:
[jphone-core.git] / src / org / mxchange / jphone / model / phonenumbers / fax / FaxNumbers.java
index 487d4c30f401aee7baabdb588b1ffd4634588cf2..9ffdac4bd4834cfba359774f385534056cff1e85 100644 (file)
@@ -17,6 +17,7 @@
 package org.mxchange.jphone.model.phonenumbers.fax;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * An utilities class for fax numbers
@@ -36,7 +37,7 @@ public class FaxNumbers implements Serializable {
         * @param sourceNumber Source number object
         * @param targetNumber Target number object
         */
-       public static void copyAll (final DialableFaxNumber sourceNumber, final DialableFaxNumber targetNumber) {
+       public static void copyFaxNumber (final DialableFaxNumber sourceNumber, final DialableFaxNumber targetNumber) {
                // Validate instance
                if (null == sourceNumber) {
                        // Throw NPE
@@ -54,6 +55,31 @@ public class FaxNumbers implements Serializable {
                targetNumber.setPhoneNumber(sourceNumber.getPhoneNumber());
        }
 
+       /**
+        * Checks if both are the same
+        * <p>
+        * @param faxNumber   First fax number
+        * @param otherNumber Second fax number
+        * <p>
+        * @return Whether both are the same
+        */
+       public static boolean isSameFaxNumber (final DialableFaxNumber faxNumber, DialableFaxNumber otherNumber) {
+               // Test object equality first
+               if (Objects.equals(faxNumber, otherNumber)) {
+                       // Both the same object (null/null or same object)
+                       return true;
+               } else if (((null == faxNumber) && (otherNumber instanceof DialableFaxNumber)) || ((null == otherNumber) && (faxNumber instanceof DialableFaxNumber))) {
+                       // One is null the other not
+                       return false;
+               }
+               // Now compare deeper
+               final boolean sameCountry = Objects.equals(faxNumber.getPhoneCountry(), otherNumber.getPhoneCountry());
+               final boolean sameAreaCode = Objects.equals(faxNumber.getPhoneAreaCode(), otherNumber.getPhoneAreaCode());
+               final boolean sameNumber = Objects.equals(faxNumber.getPhoneNumber(), otherNumber.getPhoneNumber());
+               // All are the same?
+               return sameCountry && sameAreaCode && sameNumber;
+       }
+
        /**
         * No constructor for utilities classes
         */