import org.jetbrains.annotations.NotNull;
-@Entity(tableName = "pattern_accounts",
- indices = {@Index(name = "un_pattern_accounts", unique = true, value = "id"),
- @Index(name = "fk_pattern_accounts_pattern", value = "pattern_id"),
- @Index(name = "fk_pattern_accounts_currency", value = "currency")
- }, foreignKeys = {@ForeignKey(childColumns = "pattern_id", parentColumns = "id",
- entity = TemplateHeader.class),
+@Entity(tableName = "template_accounts",
+ indices = {@Index(name = "fk_template_accounts_template", value = "template_id"),
+ @Index(name = "fk_template_accounts_currency", value = "currency")
+ }, foreignKeys = {@ForeignKey(childColumns = "template_id", parentColumns = "id",
+ entity = TemplateHeader.class, onDelete = ForeignKey.CASCADE,
+ onUpdate = ForeignKey.RESTRICT),
@ForeignKey(childColumns = "currency", parentColumns = "id",
- entity = Currency.class)
+ entity = Currency.class, onDelete = ForeignKey.RESTRICT,
+ onUpdate = ForeignKey.RESTRICT)
})
public class TemplateAccount extends TemplateBase {
- @NonNull
- @ColumnInfo(name = "pattern_id")
- private Long patternId;
@PrimaryKey(autoGenerate = true)
@NotNull
private Long id;
+ @NonNull
+ @ColumnInfo(name = "template_id")
+ private Long templateId;
@ColumnInfo(name = "acc")
private String accountName;
@ColumnInfo(name = "position")
private Integer accountCommentMatchGroup;
@ColumnInfo(name = "negate_amount")
private Boolean negateAmount;
- public TemplateAccount(@NotNull Long id, @NonNull Long patternId, @NonNull Long position) {
+ public TemplateAccount(@NotNull Long id, @NonNull Long templateId, @NonNull Long position) {
this.id = id;
- this.patternId = patternId;
+ this.templateId = templateId;
this.position = position;
}
+ public TemplateAccount(TemplateAccount o) {
+ id = o.id;
+ templateId = o.templateId;
+ accountName = o.accountName;
+ position = o.position;
+ accountNameMatchGroup = o.accountNameMatchGroup;
+ currency = o.currency;
+ currencyMatchGroup = o.currencyMatchGroup;
+ amount = o.amount;
+ amountMatchGroup = o.amountMatchGroup;
+ accountComment = o.accountComment;
+ accountCommentMatchGroup = o.accountCommentMatchGroup;
+ negateAmount = o.negateAmount;
+ }
public Long getId() {
return id;
}
public void setNegateAmount(Boolean negateAmount) {
this.negateAmount = negateAmount;
}
- public @NotNull Long getPatternId() {
- return patternId;
+ public @NotNull Long getTemplateId() {
+ return templateId;
}
- public void setPatternId(@NonNull Long patternId) {
- this.patternId = patternId;
+ public void setTemplateId(@NonNull Long templateId) {
+ this.templateId = templateId;
}
@NonNull
public String getAccountName() {
public void setAccountCommentMatchGroup(Integer accountCommentMatchGroup) {
this.accountCommentMatchGroup = accountCommentMatchGroup;
}
+ public TemplateAccount createDuplicate() {
+ TemplateAccount dup = new TemplateAccount(this);
+ dup.id = null;
+ dup.templateId = null;
+
+ return dup;
+ }
}