X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FTemplateHeader.java;h=87ea4fd84050ca741f3acdfe013718cbff3c5d7a;hb=833544eb24cb630dc1ce221e4aa3dedb3f6341e3;hp=68a11232af671cda89a9dba6439e0897142f3557;hpb=5a514f5f9ee23a57fdd135f265f7fa095b463773;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/db/TemplateHeader.java b/app/src/main/java/net/ktnx/mobileledger/db/TemplateHeader.java index 68a11232..87ea4fd8 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/TemplateHeader.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/TemplateHeader.java @@ -21,21 +21,27 @@ 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) - @NonNull - private Long id; + private long id; @ColumnInfo(name = "name") @NonNull private String name; @NonNull + @ColumnInfo + private String uuid; + @NonNull @ColumnInfo(name = "regular_expression") private String regularExpression; @ColumnInfo(name = "test_text") @@ -60,15 +66,20 @@ public class TemplateHeader extends TemplateBase { private Integer dateDay; @ColumnInfo(name = "date_day_match_group") private Integer dateDayMatchGroup; + @ColumnInfo(name = "is_fallback") + private boolean isFallback; public TemplateHeader(@NotNull Long id, @NonNull String name, @NonNull String regularExpression) { 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; @@ -81,6 +92,20 @@ public class TemplateHeader extends TemplateBase { dateMonthMatchGroup = origin.dateMonthMatchGroup; dateDay = origin.dateDay; 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; + } + public void setFallback(boolean fallback) { + isFallback = fallback; } public String getTestText() { return testText; @@ -118,11 +143,10 @@ public class TemplateHeader extends TemplateBase { public void setDateDay(Integer dateDay) { this.dateDay = dateDay; } - @NonNull - public Long getId() { + public long getId() { return id; } - public void setId(@NonNull Long id) { + public void setId(long id) { this.id = id; } @NonNull @@ -192,4 +216,10 @@ public class TemplateHeader extends TemplateBase { Misc.equalIntegers(dateYear, o.dateYear) && Misc.equalIntegers(dateYearMatchGroup, o.dateYearMatchGroup); } + public TemplateHeader createDuplicate() { + TemplateHeader dup = new TemplateHeader(this); + dup.id = 0; + + return dup; + } }