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.
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.
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/>.
18 package net.ktnx.mobileledger.db;
20 import androidx.annotation.NonNull;
21 import androidx.room.ColumnInfo;
22 import androidx.room.Entity;
25 create table profiles(uuid varchar not null primary key, name not null, url not null,
26 use_authentication boolean not null, auth_user varchar, auth_password varchar, order_no
27 integer, permit_posting boolean default 0, theme integer default -1, preferred_accounts_filter
28 varchar, future_dates integer, api_version integer, show_commodity_by_default boolean default
29 0, default_commodity varchar, show_comments_by_default boolean default 1,
30 detected_version_pre_1_19 boolean, detected_version_major integer, detected_version_minor
33 @Entity(tableName = "profiles", primaryKeys = {"uuid"})
34 public class Profile {
37 private String uuid = "invalid";
40 private String name = "";
43 private String url = "";
44 @ColumnInfo(name = "use_authentication")
45 private boolean useAuthentication;
46 @ColumnInfo(name = "auth_user")
47 private String authUser;
48 @ColumnInfo(name = "auth_password")
49 private String authPassword;
50 @ColumnInfo(name = "order_no")
52 @ColumnInfo(name = "permit_posting")
53 private boolean permitPosting;
54 @ColumnInfo(defaultValue = "-1")
55 private int theme = -1;
56 @ColumnInfo(name = "preferred_accounts_filter")
57 private String preferredAccountsFilter;
58 @ColumnInfo(name = "future_dates")
59 private int futureDates;
60 @ColumnInfo(name = "api_version")
61 private int apiVersion;
62 @ColumnInfo(name = "show_commodity_by_default")
63 private boolean showCommodityByDefault;
64 @ColumnInfo(name = "default_commodity")
65 private String defaultCommodity;
66 @ColumnInfo(name = "show_comments_by_default", defaultValue = "1")
67 private boolean showCommentsByDefault = true;
68 @ColumnInfo(name = "detected_version_pre_1_19")
69 private boolean detectedVersionPre_1_19;
70 @ColumnInfo(name = "detected_version_major")
71 private int detectedVersionMajor;
72 @ColumnInfo(name = "detected_version_minor")
73 private int detectedVersionMinor;
75 public String getUuid() {
78 public void setUuid(@NonNull String uuid) {
82 public String getName() {
85 public void setName(@NonNull String name) {
89 public String getUrl() {
92 public void setUrl(@NonNull String url) {
95 public boolean useAuthentication() {
96 return useAuthentication;
98 public void setUseAuthentication(boolean useAuthentication) {
99 this.useAuthentication = useAuthentication;
101 public String getAuthUser() {
104 public void setAuthUser(String authUser) {
105 this.authUser = authUser;
107 public String getAuthPassword() {
110 public void setAuthPassword(String authPassword) {
111 this.authPassword = authPassword;
113 public int getOrderNo() {
116 public void setOrderNo(int orderNo) {
117 this.orderNo = orderNo;
119 public boolean permitPosting() {
120 return permitPosting;
122 public void setPermitPosting(boolean permitPosting) {
123 this.permitPosting = permitPosting;
125 public int getTheme() {
128 public void setTheme(int theme) {
131 public String getPreferredAccountsFilter() {
132 return preferredAccountsFilter;
134 public void setPreferredAccountsFilter(String preferredAccountsFilter) {
135 this.preferredAccountsFilter = preferredAccountsFilter;
137 public int getFutureDates() {
140 public void setFutureDates(int futureDates) {
141 this.futureDates = futureDates;
143 public int getApiVersion() {
146 public void setApiVersion(int apiVersion) {
147 this.apiVersion = apiVersion;
149 public boolean getShowCommodityByDefault() {
150 return showCommodityByDefault;
152 public void setShowCommodityByDefault(boolean showCommodityByDefault) {
153 this.showCommodityByDefault = showCommodityByDefault;
155 public String getDefaultCommodity() {
156 return defaultCommodity;
158 public void setDefaultCommodity(String defaultCommodity) {
159 this.defaultCommodity = defaultCommodity;
161 public boolean getShowCommentsByDefault() {
162 return showCommentsByDefault;
164 public void setShowCommentsByDefault(boolean showCommentsByDefault) {
165 this.showCommentsByDefault = showCommentsByDefault;
167 public boolean detectedVersionPre_1_19() {
168 return detectedVersionPre_1_19;
170 public void setDetectedVersionPre_1_19(boolean detectedVersionPre_1_19) {
171 this.detectedVersionPre_1_19 = detectedVersionPre_1_19;
173 public int getDetectedVersionMajor() {
174 return detectedVersionMajor;
176 public void setDetectedVersionMajor(int detectedVersionMajor) {
177 this.detectedVersionMajor = detectedVersionMajor;
179 public int getDetectedVersionMinor() {
180 return detectedVersionMinor;
182 public void setDetectedVersionMinor(int detectedVersionMinor) {
183 this.detectedVersionMinor = detectedVersionMinor;
187 public String toString() {