package org.mxchange.jphone.model.phonenumbers.fax;
import java.io.Serializable;
+import java.util.Objects;
/**
* An utilities class for fax numbers
* @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
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
*/