public class LedgerTransaction {
private static final String DIGEST_TYPE = "SHA-256";
- public final Comparator<LedgerTransactionAccount> comparator =
- new Comparator<LedgerTransactionAccount>() {
- @Override
- public int compare(LedgerTransactionAccount o1, LedgerTransactionAccount o2) {
- int res = o1.getAccountName()
- .compareTo(o2.getAccountName());
- if (res != 0)
- return res;
- res = o1.getCurrency()
- .compareTo(o2.getCurrency());
- if (res != 0)
- return res;
- res = o1.getComment()
- .compareTo(o2.getComment());
- if (res != 0)
- return res;
- return Float.compare(o1.getAmount(), o2.getAmount());
- }
- };
+ public final Comparator<LedgerTransactionAccount> comparator = (o1, o2) -> {
+ int res = o1.getAccountName()
+ .compareTo(o2.getAccountName());
+ if (res != 0)
+ return res;
+ res = o1.getCurrency()
+ .compareTo(o2.getCurrency());
+ if (res != 0)
+ return res;
+ res = o1.getComment()
+ .compareTo(o2.getComment());
+ if (res != 0)
+ return res;
+ return Float.compare(o1.getAmount(), o2.getAmount());
+ };
private String profile;
private Integer id;
private SimpleDate date;
dataLoaded = false;
}
public LedgerTransaction(Integer id, SimpleDate date, String description) {
- this(id, date, description, Data.profile.getValue());
+ this(id, date, description, Data.getProfile());
}
public LedgerTransaction(SimpleDate date, String description) {
this(null, date, description);
public void finishLoading() {
dataLoaded = true;
}
+ @Override
+ public boolean equals(@Nullable Object obj) {
+ if (obj == null)
+ return false;
+ if (!obj.getClass()
+ .equals(this.getClass()))
+ return false;
+
+ return ((LedgerTransaction) obj).getDataHash()
+ .equals(getDataHash());
+ }
+
+ public boolean hasAccountNamedLike(String name) {
+ name = name.toUpperCase();
+ for (LedgerTransactionAccount acc : accounts) {
+ if (acc.getAccountName()
+ .toUpperCase()
+ .contains(name))
+ return true;
+ }
+
+ return false;
+ }
}