}
public Currency(MobileLedgerProfile profile, String name, Position position, boolean hasGap) {
SQLiteDatabase db = App.getDatabase();
- int attempts = 0;
- while (true) {
- if (++attempts > 10)
- throw new RuntimeException("Giving up getting next ID after 10 attempts");
- try (Cursor c = db.rawQuery("select max(rowid) from currencies", null)) {
- c.moveToNext();
- int nextId = c.getInt(0) + 1;
- db.execSQL("insert into currencies(id, name, position, has_gap) values(?, ?, ?, ?)",
- new Object[]{nextId, name, position.toString(), hasGap});
-
- this.id = nextId;
- break;
- }
+ try (Cursor c = db.rawQuery("select max(rowid) from currencies", null)) {
+ c.moveToNext();
+ this.id = c.getInt(0) + 1;
}
+ db.execSQL("insert into currencies(id, name, position, has_gap) values(?, ?, ?, ?)",
+ new Object[]{this.id, name, position.toString(), hasGap});
this.name = name;
this.position = position;
this.hasGap = hasGap;
}
public static Currency loadByName(String name) {
- MobileLedgerProfile profile = Data.profile.getValue();
+ MobileLedgerProfile profile = Data.getProfile();
return profile.loadCurrencyByName(name);
}
- public int getId() {
- return id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Position getPosition() {
- return position;
- }
- public void setPosition(Position position) {
- this.position = position;
- }
- public boolean hasGap() {
- return hasGap;
- }
- public void setHasGap(boolean hasGap) {
- this.hasGap = hasGap;
- }
static public boolean equal(Currency left, Currency right) {
if (left == null) {
return right == null;
return leftName.equals(right);
}
}
+ public int getId() {
+ return id;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public Position getPosition() {
+ return position;
+ }
+ public void setPosition(Position position) {
+ this.position = position;
+ }
+ public boolean hasGap() {
+ return hasGap;
+ }
+ public void setHasGap(boolean hasGap) {
+ this.hasGap = hasGap;
+ }
public enum Position {
before(-1), after(1), unknown(0), none(-2);
private int value;