001/*
002 * The Kuali Financial System, a comprehensive financial management system for higher education.
003 * 
004 * Copyright 2005-2014 The Kuali Foundation
005 * 
006 * This program is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU Affero General Public License as
008 * published by the Free Software Foundation, either version 3 of the
009 * License, or (at your option) any later version.
010 * 
011 * This program is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU Affero General Public License for more details.
015 * 
016 * You should have received a copy of the GNU Affero General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.kuali.kfs.fp.businessobject;
020
021import java.sql.Date;
022
023import org.apache.ojb.broker.PersistenceBrokerAware;
024import org.kuali.rice.core.api.util.type.KualiDecimal;
025import org.kuali.rice.krad.bo.PersistableBusinessObject;
026
027
028/**
029 * This class represents a check is cashiering related documents
030 */
031public interface Check extends PersistableBusinessObject, PersistenceBrokerAware {
032
033    /**
034     * Gets the checkDate attribute.
035     * 
036     * @return Returns the checkDate.
037     */
038    public Date getCheckDate();
039
040    /**
041     * Sets the checkDate attribute value.
042     * 
043     * @param checkDate The checkDate to set.
044     */
045    public void setCheckDate(Date checkDate);
046
047    /**
048     * Gets the checkNumber attribute.
049     * 
050     * @return Returns the checkNumber.
051     */
052    public String getCheckNumber();
053
054    /**
055     * Sets the checkNumber attribute value.
056     * 
057     * @param checkNumber The checkNumber to set.
058     */
059    public void setCheckNumber(String checkNumber);
060
061    /**
062     * Gets the description attribute.
063     * 
064     * @return Returns the description.
065     */
066    public String getDescription();
067
068    /**
069     * Sets the description attribute value.
070     * 
071     * @param description The description to set.
072     */
073    public void setDescription(String description);
074
075
076    /**
077     * Gets the sequenceId attribute.
078     * 
079     * @return Returns the sequenceId.
080     */
081    public Integer getSequenceId();
082
083    /**
084     * Sets the sequenceId attribute value.
085     * 
086     * @param sequenceId The sequenceId to set.
087     */
088    public void setSequenceId(Integer sequenceId);
089
090
091    /**
092     * Gets the amount attribute.
093     * 
094     * @return Returns the amount.
095     */
096    public KualiDecimal getAmount();
097
098    /**
099     * Sets the amount attribute value.
100     * 
101     * @param amount The amount to set.
102     */
103    public void setAmount(KualiDecimal amount);
104
105    /**
106     * Gets the documentNumber attribute.
107     * 
108     * @return Returns the documentNumber.
109     */
110    public String getDocumentNumber();
111
112    /**
113     * Sets the documentNumber attribute value.
114     * 
115     * @param documentNumber The documentNumber to set.
116     */
117    public void setDocumentNumber(String documentNumber);
118
119
120    /**
121     * Sets the financialDocumentDepositLineNumber.
122     * 
123     * @param financialDocumentDepositLineNumber
124     */
125    public void setFinancialDocumentDepositLineNumber(Integer financialDocumentDepositLineNumber);
126
127    /**
128     * Gets the financialDocumentDepositLineNumber attribute.
129     * 
130     * @return Returns the financialDocumentDepositLineNumber.
131     */
132    public Integer getFinancialDocumentDepositLineNumber();
133
134    /**
135     * Returns the document type that created this record.
136     * 
137     * @return the document type of the creating document.
138     */
139    public String getFinancialDocumentTypeCode();
140
141    /**
142     * Sets the kind of document that created this check
143     * 
144     * @param financialDocumentTypeCode
145     */
146    public void setFinancialDocumentTypeCode(String financialDocumentTypeCode);
147
148    /**
149     * Gets the code that describes where this cashiering record came from
150     * 
151     * @return the cashiering record source
152     */
153    public String getCashieringStatus();
154
155    /**
156     * Sets the source of this cashiering record.
157     * 
158     * @param cashieringStatus
159     */
160    public void setCashieringStatus(String cashieringStatus);
161
162    /**
163     * Returns true if this check has the same primitive field values as the given one
164     * 
165     * @param other
166     * @return true if this Check has the same primitive field values as the given one
167     */
168    public boolean isLike(Check other);
169}