001: /*
002: * Created on 14/02/2004
003: *
004: * Swing Components - visit http://sf.net/projects/gfd
005: *
006: * Copyright (C) 2004 Igor Regis da Silva Simões
007: *
008: * This program is free software; you can redistribute it and/or
009: * modify it under the terms of the GNU General Public License
010: * as published by the Free Software Foundation; either version 2
011: * of the License, or (at your option) any later version.
012: *
013: * This program is distributed in the hope that it will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
016: * GNU General Public License for more details.
017: *
018: * You should have received a copy of the GNU General Public License
019: * along with this program; if not, write to the Free Software
020: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
021: */
022:
023: package br.com.gfp.data;
024:
025: import java.sql.SQLException;
026: import java.util.Map;
027:
028: import br.com.gfp.dao.AccountTypeDAO;
029: import br.com.gfp.dao.GFPController;
030: import br.com.gfp.internationalization.ErrosDeDadosMessages;
031: import br.com.gfp.util.SimpleLog;
032: import br.com.gfpshare.db.Column;
033: import br.com.gfpshare.db.Table;
034:
035: /**
036: * @author Igor Regis da Silva Simoes
037: */
038: @Table(name="Aplicacao")
039: public class AccountSaving extends CheckingAccount {
040: /**
041: * Esta constante representa um intervalo diário de repetição para lançamentos
042: */
043: public static final int DIARIO = 1;
044:
045: /**
046: * Esta constante representa um intervalo semanal de repetição para lançamentos
047: */
048: public static final int MENSAL = 2;
049:
050: /**
051: * Esta constante representa um intervalo mensal de repetição para lançamentos
052: */
053: public static final int BIMESTRTAL = 3;
054:
055: /**
056: * Esta constante representa um intervalo mensal de repetição para lançamentos
057: */
058: public static final int TRIMESTRTAL = 4;
059:
060: /**
061: * Esta constante representa um intervalo mensal de repetição para lançamentos
062: */
063: public static final int SEMESTRTAL = 5;
064:
065: /**
066: * Esta constante representa um intervalo anual de repetição para lançamentos
067: */
068: public static final int ANUAL = 6;
069:
070: /**
071: *
072: */
073: @Column(nome="TipoRendimento",isPk=false,writeMethodName="setTipoRendimento",readMethodName="getTipoRendimento")
074: private Integer tipoRendimento = null;
075:
076: /**
077: *
078: */
079: @Column(nome="ResgateAutomatico",isPk=false,writeMethodName="setResgateAutomatico",readMethodName="getResgateAutomatico")
080: private Boolean resgateAutomatico = null;
081:
082: /**
083: *
084: */
085: @Column(nome="ValorMinimoMovimentacao",isPk=false,writeMethodName="setValorMinimoMovimentacao",readMethodName="getValorMinimoMovimentacao")
086: private Double valorMinimoMovimentacao = null;
087:
088: /**
089: * Inicializamos o tipo da conta para aplicação
090: */
091: {
092: try {
093: tipoConta = ""
094: + new AccountTypeDAO().getBy(
095: new AccountType("aplicacao")).getId();
096: } catch (SQLException e) {
097: ((SimpleLog) GFPController.getGFPController().getContexto()
098: .get(GFPController.LOG))
099: .log("Erro ao reter tipo conta aplicacao!");
100: ((SimpleLog) GFPController.getGFPController().getContexto()
101: .get(GFPController.LOG)).log(e
102: .getLocalizedMessage());
103: ((SimpleLog) GFPController.getGFPController().getContexto()
104: .get(GFPController.LOG)).log(e);
105: }
106: }
107:
108: /** Cria uma nova instância de AccoutSaving */
109: public AccountSaving() {
110: //Não fazemos nada
111: }
112:
113: /**
114: * Cria uma nova instância de AccoutSaving
115: * @param dados que comporão os objeto
116: */
117: public AccountSaving(Map<String, Object> dados) {
118: setDados(dados);
119: }
120:
121: /** Cria uma nova instância de AccoutSaving
122: * @param id
123: */
124: public AccountSaving(Integer id) {
125: setId(id);
126: }
127:
128: /** Cria uma nova instância de AccoutSaving
129: * @param saldoInicial
130: */
131: public AccountSaving(Double saldoInicial) {
132: super (saldoInicial);
133: }
134:
135: /**
136: * @see br.com.gfp.data.CheckingAccount#validate()
137: */
138: @Override
139: public void validate() throws SQLException {
140: if (this .tipoConta == null)
141: throw new SQLException(ErrosDeDadosMessages.getMessages()
142: .getString("TipoContaInvalido"));
143: if (this .tipoRendimento == null)
144: throw new SQLException(ErrosDeDadosMessages.getMessages()
145: .getString("TipoRendimentoInvalido"));
146: if (this .valorMinimoMovimentacao != null
147: && this .valorMinimoMovimentacao.doubleValue() < 0)
148: throw new SQLException(ErrosDeDadosMessages.getMessages()
149: .getString("ValorMinimoMovtoInvalido"));
150: super .validate();
151: }
152:
153: /**
154: * Getter for property tipoRendimento.
155: * @return Value of property tipoRendimento.
156: */
157: public Integer getTipoRendimento() {
158: return tipoRendimento;
159: }
160:
161: /**
162: * Setter for property tipoRendimento.
163: * @param tipoRendimento New value of property tipoRendimento.
164: */
165: public void setTipoRendimento(Integer tipoRendimento) {
166: this .tipoRendimento = tipoRendimento;
167: }
168:
169: /**
170: * Getter for property resgateAutomatico.
171: * @return Value of property resgateAutomatico.
172: */
173: public Boolean getResgateAutomatico() {
174: return resgateAutomatico;
175: }
176:
177: /**
178: * Setter for property resgateAutomatico.
179: * @param resgateAutomatico New value of property resgateAutomatico.
180: */
181: public void setResgateAutomatico(Boolean resgateAutomatico) {
182: this .resgateAutomatico = resgateAutomatico;
183: }
184:
185: /**
186: * Getter for property valorMinimoMovimentacao.
187: * @return Value of property valorMinimoMovimentacao.
188: */
189: public Double getValorMinimoMovimentacao() {
190: return valorMinimoMovimentacao;
191: }
192:
193: /**
194: * Setter for property valorMinimoMovimentacao.
195: * @param valorMinimoMovimentacao New value of property valorMinimoMovimentacao.
196: */
197: public void setValorMinimoMovimentacao(
198: Double valorMinimoMovimentacao) {
199: this.valorMinimoMovimentacao = valorMinimoMovimentacao;
200: }
201: }
|