/* * Copyright (c) 2012 Denis Solonenko. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v2.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ package ru.orangesoftware.financisto2.model; import javax.persistence.Column; import javax.persistence.Id; import java.io.Serializable; public abstract class TransactionBase implements Serializable, Cloneable { @Id @Column(name = "_id") public long id = -1; @Column(name = "parent_id") public long parentId; @Column(name = "datetime") public long dateTime = System.currentTimeMillis(); @Column(name = "note") public String note; @Column(name = "original_from_amount") public long originalFromAmount; @Column(name = "from_amount") public long fromAmount; @Column(name = "to_amount") public long toAmount; @Column(name = "is_template") public int isTemplate; @Column(name = "template_name") public String templateName; @Column(name = "recurrence") public String recurrence; @Column(name = "notification_options") public String notificationOptions; @Column(name = "status") public TransactionStatus status = TransactionStatus.UR; @Column(name = "attached_picture") public String attachedPicture; @Column(name = "is_ccard_payment") public int isCCardPayment; @Column(name = "last_recurrence") public long lastRecurrence; @Column(name = "updated_on") public long updatedOn = System.currentTimeMillis(); @Column(name = "remote_key") public String remoteKey ; public boolean isTemplate() { return isTemplate == 1; } public void setAsTemplate() { this.isTemplate = 1; } public boolean isScheduled() { return isTemplate == 2; } public void setAsScheduled() { this.isTemplate = 2; } public boolean isTemplateLike() { return isTemplate > 0; } public boolean isNotTemplateLike() { return isTemplate == 0; } public boolean isCreatedFromTemlate() { return !isTemplate() && templateName != null && templateName.length() > 0; } public boolean isCreditCardPayment() { return isCCardPayment == 1; } public boolean isSplitChild() { return parentId > 0; } }