]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java
Classes describing one transaction with its accounts
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / LedgerTransaction.java
diff --git a/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java b/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java
new file mode 100644 (file)
index 0000000..1690b93
--- /dev/null
@@ -0,0 +1,52 @@
+package net.ktnx.mobileledger;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+class LedgerTransaction {
+    private String date;
+    private String description;
+    private List<LedgerTransactionItem> items;
+
+    LedgerTransaction(String date, String description) {
+        this.date = date;
+        this.description = description;
+        this.items = new ArrayList<LedgerTransactionItem>();
+    }
+
+    void add_item(LedgerTransactionItem item) {
+        items.add(item);
+    }
+
+    public String getDate() {
+        return date;
+    }
+
+    public void setDate(String date) {
+        this.date = date;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public Iterator<LedgerTransactionItem> getItemsIterator() {
+        return new Iterator<LedgerTransactionItem>() {
+            private int pointer = 0;
+            @Override
+            public boolean hasNext() {
+                return pointer < items.size();
+            }
+
+            @Override
+            public LedgerTransactionItem next() {
+                return hasNext() ? items.get(pointer++) : null;
+            }
+        };
+    }
+}