1 package net.ktnx.mobileledger.db;
3 import androidx.annotation.NonNull;
4 import androidx.annotation.Nullable;
5 import androidx.room.ColumnInfo;
6 import androidx.room.Entity;
7 import androidx.room.Index;
8 import androidx.room.PrimaryKey;
10 import net.ktnx.mobileledger.utils.Misc;
12 import org.jetbrains.annotations.NotNull;
14 @Entity(tableName = "patterns",
15 indices = {@Index(name = "un_patterns_id", value = "id", unique = true)})
16 public class PatternHeader extends PatternBase {
17 @PrimaryKey(autoGenerate = true)
20 @ColumnInfo(name = "name")
24 @ColumnInfo(name = "regular_expression")
25 private String regularExpression;
26 @ColumnInfo(name = "test_text")
27 private String testText;
28 @ColumnInfo(name = "transaction_description")
29 private String transactionDescription;
30 @ColumnInfo(name = "transaction_description_match_group")
31 private Integer transactionDescriptionMatchGroup;
32 @ColumnInfo(name = "transaction_comment")
33 private String transactionComment;
34 @ColumnInfo(name = "transaction_comment_match_group")
35 private Integer transactionCommentMatchGroup;
36 @ColumnInfo(name = "date_year")
37 private Integer dateYear;
38 @ColumnInfo(name = "date_year_match_group")
39 private Integer dateYearMatchGroup;
40 @ColumnInfo(name = "date_month")
41 private Integer dateMonth;
42 @ColumnInfo(name = "date_month_match_group")
43 private Integer dateMonthMatchGroup;
44 @ColumnInfo(name = "date_day")
45 private Integer dateDay;
46 @ColumnInfo(name = "date_day_match_group")
47 private Integer dateDayMatchGroup;
48 public PatternHeader(@NotNull Long id, @NonNull String name,
49 @NonNull String regularExpression) {
52 this.regularExpression = regularExpression;
54 public String getTestText() {
57 public void setTestText(String testText) {
58 this.testText = testText;
60 public Integer getTransactionDescriptionMatchGroup() {
61 return transactionDescriptionMatchGroup;
63 public void setTransactionDescriptionMatchGroup(Integer transactionDescriptionMatchGroup) {
64 this.transactionDescriptionMatchGroup = transactionDescriptionMatchGroup;
66 public Integer getTransactionCommentMatchGroup() {
67 return transactionCommentMatchGroup;
69 public void setTransactionCommentMatchGroup(Integer transactionCommentMatchGroup) {
70 this.transactionCommentMatchGroup = transactionCommentMatchGroup;
72 public Integer getDateYear() {
75 public void setDateYear(Integer dateYear) {
76 this.dateYear = dateYear;
78 public Integer getDateMonth() {
81 public void setDateMonth(Integer dateMonth) {
82 this.dateMonth = dateMonth;
84 public Integer getDateDay() {
87 public void setDateDay(Integer dateDay) {
88 this.dateDay = dateDay;
94 public void setId(@NonNull Long id) {
98 public String getName() {
101 public void setName(@NonNull String name) {
105 public String getRegularExpression() {
106 return regularExpression;
108 public void setRegularExpression(@NonNull String regularExpression) {
109 this.regularExpression = regularExpression;
111 public String getTransactionDescription() {
112 return transactionDescription;
114 public void setTransactionDescription(String transactionDescription) {
115 this.transactionDescription = transactionDescription;
117 public String getTransactionComment() {
118 return transactionComment;
120 public void setTransactionComment(String transactionComment) {
121 this.transactionComment = transactionComment;
123 public Integer getDateYearMatchGroup() {
124 return dateYearMatchGroup;
126 public void setDateYearMatchGroup(Integer dateYearMatchGroup) {
127 this.dateYearMatchGroup = dateYearMatchGroup;
129 public Integer getDateMonthMatchGroup() {
130 return dateMonthMatchGroup;
132 public void setDateMonthMatchGroup(Integer dateMonthMatchGroup) {
133 this.dateMonthMatchGroup = dateMonthMatchGroup;
135 public Integer getDateDayMatchGroup() {
136 return dateDayMatchGroup;
138 public void setDateDayMatchGroup(Integer dateDayMatchGroup) {
139 this.dateDayMatchGroup = dateDayMatchGroup;
142 public boolean equals(@Nullable Object obj) {
145 if (!(obj instanceof PatternHeader))
148 PatternHeader o = (PatternHeader) obj;
150 return Misc.equalLongs(id, o.id) && Misc.equalStrings(name, o.name) &&
151 Misc.equalStrings(regularExpression, o.regularExpression) &&
152 Misc.equalStrings(transactionDescription, o.transactionDescription) &&
153 Misc.equalStrings(transactionComment, o.transactionComment) &&
154 Misc.equalIntegers(transactionDescriptionMatchGroup,
155 o.transactionDescriptionMatchGroup) &&
156 Misc.equalIntegers(transactionCommentMatchGroup, o.transactionCommentMatchGroup) &&
157 Misc.equalIntegers(dateDay, o.dateDay) &&
158 Misc.equalIntegers(dateDayMatchGroup, o.dateDayMatchGroup) &&
159 Misc.equalIntegers(dateMonth, o.dateMonth) &&
160 Misc.equalIntegers(dateMonthMatchGroup, o.dateMonthMatchGroup) &&
161 Misc.equalIntegers(dateYear, o.dateYear) &&
162 Misc.equalIntegers(dateYearMatchGroup, o.dateYearMatchGroup);