MoneyOperation.java


/*
 * MoneyOperation.java
 */

package budget.domain;

import java.io.Serializable;
import java.sql.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import org.weda.property.annotations.ConstraintId;
import org.weda.property.annotations.Constraints;
import org.weda.property.annotations.Description;

/**Хранение информации о денежной операции
 *
 * @author Mikhail Titov
 */
@Entity()
public class MoneyOperation implements Serializable{
    private Long id;
    private Date operationDate;
    private Double amount;
    private String operationDescription;
    private OperationItem operationItem;

    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    @Description(displayName="#")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Description(displayName="Дата операции", pattern="dd.MM.yyyy")
    @Constraints({
        @ConstraintId("notNull")
    })
    public Date getOperationDate() {
        return operationDate;
    }

    public void setOperationDate(Date operationDate) {
        this.operationDate = operationDate;
    }

    @Description(displayName="Сумма")
    @Constraints({
        @ConstraintId("notNull")
    })
    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    @Description(displayName="Описание операции")
    public String getOperationDescription() {
        return operationDescription;
    }

    public void setOperationDescription(String operationDescription) {
        this.operationDescription = operationDescription;
    }

    @ManyToOne()
    @Constraints({
        @ConstraintId("notNull"),
        @ConstraintId("денежная-статья")
    })
    @Description(displayName="Денежная статья")
    public OperationItem getOperationItem() {
        return operationItem;
    }

    public void setOperationItem(OperationItem operationItem) {
        this.operationItem = operationItem;
    }
    
}