]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/db/TemplateHeader.java
add uuid to templates
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / db / TemplateHeader.java
index 9d355d09cfc46de8309d573bf59eb3f20813248a..87ea4fd84050ca741f3acdfe013718cbff3c5d7a 100644 (file)
@@ -21,13 +21,17 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.room.ColumnInfo;
 import androidx.room.Entity;
+import androidx.room.Index;
 import androidx.room.PrimaryKey;
 
 import net.ktnx.mobileledger.utils.Misc;
 
 import org.jetbrains.annotations.NotNull;
 
-@Entity(tableName = "templates")
+import java.util.UUID;
+
+@Entity(tableName = "templates",
+        indices = {@Index(name = "templates_uuid_idx", unique = true, value = "uuid")})
 public class TemplateHeader extends TemplateBase {
     @PrimaryKey(autoGenerate = true)
     private long id;
@@ -35,6 +39,9 @@ public class TemplateHeader extends TemplateBase {
     @NonNull
     private String name;
     @NonNull
+    @ColumnInfo
+    private String uuid;
+    @NonNull
     @ColumnInfo(name = "regular_expression")
     private String regularExpression;
     @ColumnInfo(name = "test_text")
@@ -66,10 +73,13 @@ public class TemplateHeader extends TemplateBase {
         this.id = id;
         this.name = name;
         this.regularExpression = regularExpression;
+        this.uuid = UUID.randomUUID()
+                        .toString();
     }
     public TemplateHeader(TemplateHeader origin) {
         id = origin.id;
         name = origin.name;
+        uuid = origin.uuid;
         regularExpression = origin.regularExpression;
         testText = origin.testText;
         transactionDescription = origin.transactionDescription;
@@ -84,6 +94,13 @@ public class TemplateHeader extends TemplateBase {
         dateDayMatchGroup = origin.dateDayMatchGroup;
         isFallback = origin.isFallback;
     }
+    @NonNull
+    public String getUuid() {
+        return uuid;
+    }
+    public void setUuid(@NonNull String uuid) {
+        this.uuid = uuid;
+    }
     public boolean isFallback() {
         return isFallback;
     }