]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/Currency.java
helper methids for comparing currency objects and strings
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / model / Currency.java
index a4854c05219c146608326b1acf8f2556f5aebd25..e32513f2170a9ecba710631ea86a168df6f14ef7 100644 (file)
@@ -24,6 +24,7 @@ import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.DiffUtil;
 
 import net.ktnx.mobileledger.App;
+import net.ktnx.mobileledger.utils.Misc;
 
 public class Currency {
     public static final DiffUtil.ItemCallback<Currency> DIFF_CALLBACK =
@@ -79,6 +80,10 @@ public class Currency {
         this.position = position;
         this.hasGap = hasGap;
     }
+    public static Currency loadByName(String name) {
+        MobileLedgerProfile profile = Data.profile.getValue();
+        return profile.loadCurrencyByName(name);
+    }
     public int getId() {
         return id;
     }
@@ -100,6 +105,27 @@ public class Currency {
     public void setHasGap(boolean hasGap) {
         this.hasGap = hasGap;
     }
+    static public boolean equal(Currency left, Currency right) {
+        if (left == null) {
+            return right == null;
+        }
+        else
+            return left.equals(right);
+    }
+    static public boolean equal(Currency left, String right) {
+        right = Misc.emptyIsNull(right);
+        if (left == null) {
+            return right == null;
+        }
+        else {
+            String leftName = Misc.emptyIsNull(left.getName());
+            if (leftName == null) {
+                return right == null;
+            }
+            else
+                return leftName.equals(right);
+        }
+    }
     public enum Position {
         before(-1), after(1), unknown(0), none(-2);
         private int value;