]> git.ktnx.net Git - mobile-ledger.git/blob - app/src/main/java/net/ktnx/mobileledger/db/Currency.java
add unique index on currencies(name)
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / db / Currency.java
1 /*
2  * Copyright © 2021 Damyan Ivanov.
3  * This file is part of MoLe.
4  * MoLe is free software: you can distribute it and/or modify it
5  * under the term of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your opinion), any later version.
8  *
9  * MoLe is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License terms for details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with MoLe. If not, see <https://www.gnu.org/licenses/>.
16  */
17
18 package net.ktnx.mobileledger.db;
19
20 import androidx.annotation.NonNull;
21 import androidx.room.ColumnInfo;
22 import androidx.room.Entity;
23 import androidx.room.Index;
24 import androidx.room.PrimaryKey;
25
26 @Entity(tableName = "currencies",
27         indices = {@Index(name = "currency_name_idx", unique = true, value = "name")})
28 public class Currency {
29     @PrimaryKey(autoGenerate = true)
30     private long id;
31     @NonNull
32     private String name;
33     @NonNull
34     private String position;
35     @NonNull
36     @ColumnInfo(name = "has_gap")
37     private Boolean hasGap;
38     public Currency(long id, @NonNull String name, @NonNull String position,
39                     @NonNull Boolean hasGap) {
40         this.id = id;
41         this.name = name;
42         this.position = position;
43         this.hasGap = hasGap;
44     }
45     public long getId() {
46         return id;
47     }
48     public void setId(long id) {
49         this.id = id;
50     }
51     @NonNull
52     public String getName() {
53         return name;
54     }
55     public void setName(@NonNull String name) {
56         this.name = name;
57     }
58     @NonNull
59     public String getPosition() {
60         return position;
61     }
62     public void setPosition(@NonNull String position) {
63         this.position = position;
64     }
65     @NonNull
66     public Boolean getHasGap() {
67         return hasGap;
68     }
69     public void setHasGap(@NonNull Boolean hasGap) {
70         this.hasGap = hasGap;
71     }
72 }