Source Code Cross Referenced for Transaction.java in  » ERP-CRM-Financial » Personal-Finance-Manager » br » com » gfp » data » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » ERP CRM Financial » Personal Finance Manager » br.com.gfp.data 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * Created on 13/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.security.InvalidParameterException;
026:        import java.sql.SQLException;
027:        import java.util.Date;
028:        import java.util.Map;
029:
030:        import br.com.gfp.internationalization.ErrosDeDadosMessages;
031:        import br.com.gfpshare.db.Column;
032:        import br.com.gfpshare.db.Table;
033:
034:        /**
035:         * Classe que representa um lancamento realizado em qualquer conta.
036:         * 
037:         * @author Igor Regis da Silva Simoes
038:         */
039:        @Table(name="Lancamento")
040:        public class Transaction extends BasicGFPDataObject {
041:            /**
042:             * Esta constante representa um intervalo diário de repetição para lançamentos
043:             */
044:            public static final int DIAS = 1;
045:
046:            /**
047:             * Esta constante representa um intervalo semanal de repetição para lançamentos
048:             */
049:            public static final int SEMANDAS = 2;
050:
051:            /**
052:             * Esta constante representa um intervalo mensal de repetição para lançamentos
053:             */
054:            public static final int MESES = 3;
055:
056:            /**
057:             * Esta constante representa um intervalo anual de repetição para lançamentos
058:             */
059:            public static final int ANOS = 4;
060:
061:            /**
062:             *
063:             */
064:            //    private int lancamentoTransferencia = -1;
065:            /**
066:             * Dia em que o lancamento foi realizado
067:             */
068:            @Column(nome="Dia",isPk=false,writeMethodName="setDia",readMethodName="getDia")
069:            private Date dia = null;
070:
071:            /**
072:             * Valor do lancamento
073:             */
074:            @Column(nome="Valor",isPk=false,writeMethodName="setValor",readMethodName="getValor")
075:            private Double valor = null;
076:
077:            /**
078:             * Tipo do lancamento
079:             */
080:            @Column(nome="Tipo",isPk=false,writeMethodName="setTipo",readMethodName="getTipo")
081:            private Integer tipo = null;
082:
083:            /**
084:             * Descricao do lancamento
085:             */
086:            @Column(nome="Descricao",isPk=false,writeMethodName="setDescricao",readMethodName="getDescricao")
087:            private String descricao = null;
088:
089:            /**
090:             * Intervalo de repeticao do lancamento
091:             */
092:            @Column(nome="IntervaloRepeticao",isPk=false,writeMethodName="setIntervaloRepeticao",readMethodName="getIntervaloRepeticao")
093:            private Integer intervaloRepeticao = null;
094:
095:            /**
096:             * Tipo do intervalo de repeticao do lancamento
097:             */
098:            @Column(nome="TipoIntervaloRepeticao",isPk=false,writeMethodName="setTipoIntervaloRepeticao",readMethodName="getTipoIntervaloRepeticao")
099:            private Integer tipoIntervaloRepeticao = null;
100:
101:            /**
102:             * Produto envolvido no lancamento
103:             */
104:            @Column(nome="Produto",isPk=false,writeMethodName="setProduto",readMethodName="getProduto")
105:            private Integer produto = null;
106:
107:            /**
108:             * Entidade envolvida no lancamento
109:             */
110:            @Column(nome="EntidadeEnvolvida",isPk=false,writeMethodName="setEntidadeEnvolvida",readMethodName="getEntidadeEnvolvida")
111:            private Integer entidadeEnvolvida = null;
112:
113:            /**
114:             * Tipo de conta que o lancamento afeta
115:             */
116:            @Column(nome="TipoConta",isPk=false,writeMethodName="setTipoConta",readMethodName="getTipoConta")
117:            private String tipoConta = null;
118:
119:            /**
120:             * Account que o lancamento afeta
121:             */
122:            @Column(nome="Conta",isPk=false,writeMethodName="setConta",readMethodName="getConta")
123:            private Integer conta = null;
124:
125:            /**
126:             * Indica se é um previsao
127:             */
128:            @Column(nome="EhPrevisao",isPk=false,writeMethodName="setEhPrevisao",readMethodName="getEhPrevisao")
129:            private Boolean ehPrevisao = null;
130:
131:            /**
132:             * Indica se o lançamento é de sistema
133:             */
134:            @Column(nome="EhDeSistema",isPk=false,writeMethodName="setEhDeSistema",readMethodName="getEhDeSistema")
135:            private Boolean ehDeSistema = null;
136:
137:            /**
138:             * Identificado que visa relacionar dois lançamentos como send referentes a um 
139:             * transferencia dessa forma quando um dos lançamentos for removido o outro
140:             * também o será. 
141:             */
142:            @Column(nome="Transferencia",isPk=false,writeMethodName="setTransferencia",readMethodName="getTransferencia")
143:            private Double transferencia = null;
144:
145:            /**
146:             * Tipo da conta para o qual o valor foi transferido em caso de tipo = transferencia
147:             */
148:            @Column(nome="TipoContaTransf",isPk=false,writeMethodName="setTipoContaTransf",readMethodName="getTipoContaTransf")
149:            private String tipoContaTransf = null;
150:
151:            /**
152:             * Account para qual o valor foi transferido em caso de tipo = transferencia
153:             */
154:            @Column(nome="ContaTransf",isPk=false,writeMethodName="setContaTransf",readMethodName="getContaTransf")
155:            private Integer contaTransf = null;
156:
157:            /**
158:             * Quantas vezes este lançamento será realizado
159:             */
160:            private int vezesPraRealizar = 0;
161:
162:            /**
163:             * Indica se numa consulta os subtipos do tipo selecionado devem ser incluidos
164:             */
165:            private boolean incluirSubtipos = true;
166:
167:            /** Cria uma nova instância de Lancamento */
168:            public Transaction() {
169:                //Não fazemos nada
170:            }
171:
172:            /**
173:             * Cria uma nova instância de Lancamento
174:             * @param id Id do lancamento
175:             */
176:            public Transaction(int id) {
177:                setId(Integer.valueOf("" + id));
178:            }
179:
180:            /**
181:             * Cria uma nova instância de Lancamento
182:             * 
183:             * @param dados Map com os dados deste novo lancamento
184:             */
185:            public Transaction(Map<String, Object> dados) {
186:                setDados(dados);
187:            }
188:
189:            /*
190:             * @see br.com.igor.db.AbstractPersistentObject#setDados(java.util.Map)
191:             */
192:            @Override
193:            public void setDados(Map<String, Object> dados) {
194:                if (dados != null) {
195:                    super .setDados(dados);
196:                    return;
197:                }
198:                setId(null);
199:                dia = null;
200:                valor = null;
201:                tipo = null;
202:                descricao = null;
203:                intervaloRepeticao = null;
204:                tipoIntervaloRepeticao = null;
205:                produto = null;
206:                entidadeEnvolvida = null;
207:                tipoConta = null;
208:                conta = null;
209:                ehPrevisao = null;
210:                ehDeSistema = null;
211:                transferencia = null;
212:                tipoContaTransf = null;
213:                contaTransf = null;
214:                vezesPraRealizar = 0;
215:                incluirSubtipos = true;
216:            }
217:
218:            /**
219:             * Getter for property dia.
220:             * 
221:             * @return Value of property dia.
222:             */
223:            public Date getDia() {
224:                return dia;
225:            }
226:
227:            /**
228:             * Setter for property dia.
229:             * 
230:             * @param dia New value of property dia.
231:             */
232:            public void setDia(Date dia) {
233:                this .dia = dia;
234:            }
235:
236:            /**
237:             * Getter for property valor.
238:             * 
239:             * @return Value of property valor.
240:             */
241:            public Double getValor() {
242:                return valor;
243:            }
244:
245:            /**
246:             * Setter for property valor.
247:             * 
248:             * @param valor New value of property valor.
249:             */
250:            public void setValor(Double valor) {
251:                this .valor = valor;
252:            }
253:
254:            /**
255:             * Getter for property descricao.
256:             * 
257:             * @return Value of property descricao.
258:             */
259:            public String getDescricao() {
260:                return descricao;
261:            }
262:
263:            /**
264:             * Setter for property descricao.
265:             * 
266:             * @param descricao New value of property descricao.
267:             */
268:            public void setDescricao(String descricao) {
269:                this .descricao = descricao.equals("") ? null : descricao;
270:            }
271:
272:            /**
273:             * Getter for property intervaloRepeticao.
274:             * 
275:             * @return Value of property intervaloRepeticao.
276:             */
277:            public Integer getIntervaloRepeticao() {
278:                return intervaloRepeticao;
279:            }
280:
281:            /**
282:             * Setter for property intervaloRepeticao.
283:             * 
284:             * @param intervaloRepeticao New value of property intervaloRepeticao.
285:             */
286:            public void setIntervaloRepeticao(Integer intervaloRepeticao) {
287:                this .intervaloRepeticao = intervaloRepeticao.intValue() == 0 ? null
288:                        : intervaloRepeticao;
289:            }
290:
291:            /**
292:             * Getter for property tipoIntervaloRepeticao.
293:             * 
294:             * @return Value of property tipoIntervaloRepeticao.
295:             */
296:            public Integer getTipoIntervaloRepeticao() {
297:                return tipoIntervaloRepeticao;
298:            }
299:
300:            /**
301:             * Setter for property tipoIntervaloRepeticao.
302:             * 
303:             * @param tipoIntervaloRepeticao New value of property tipoIntervaloRepeticao.
304:             */
305:            public void setTipoIntervaloRepeticao(Integer tipoIntervaloRepeticao) {
306:                this .tipoIntervaloRepeticao = tipoIntervaloRepeticao.intValue() == 0 ? null
307:                        : tipoIntervaloRepeticao;
308:            }
309:
310:            /**
311:             * Getter for property tipo.
312:             * 
313:             * @return Value of property tipo.
314:             */
315:            public Integer getTipo() {
316:                return tipo;
317:            }
318:
319:            /**
320:             * Setter for property tipo.
321:             * 
322:             * @param tipo New value of property tipo.
323:             */
324:            public void setTipo(Integer tipo) {
325:                this .tipo = tipo;
326:            }
327:
328:            /**
329:             * Getter for property lancamentoTransferencia.
330:             * 
331:             * @return Value of property lancamentoTransferencia.
332:             */
333:            /*
334:             * public int getLancamentoTransferencia() { return lancamentoTransferencia; }
335:             */
336:            /**
337:             * Setter for property lancamentoTransferencia.
338:             * 
339:             * @param lancamentoTransferencia New value of property lancamentoTransferencia.
340:             */
341:            /*
342:             * public void setLancamentoTransferencia(int lancamentoTransferencia) { this.lancamentoTransferencia =
343:             * lancamentoTransferencia; }
344:             */
345:            /**
346:             * Getter for property produto.
347:             * 
348:             * @return Value of property produto.
349:             */
350:            public Integer getProduto() {
351:                return produto;
352:            }
353:
354:            /**
355:             * Setter for property produto.
356:             * 
357:             * @param produto New value of property produto.
358:             */
359:            public void setProduto(Integer produto) {
360:                this .produto = produto;
361:            }
362:
363:            /**
364:             * Getter for property entidade.
365:             * 
366:             * @return Value of property entidade.
367:             */
368:            public Integer getEntidadeEnvolvida() {
369:                return entidadeEnvolvida;
370:            }
371:
372:            /**
373:             * Setter for property entidade.
374:             * 
375:             * @param entidade New value of property entidade.
376:             */
377:            public void setEntidadeEnvolvida(Integer entidade) {
378:                this .entidadeEnvolvida = entidade;
379:            }
380:
381:            /**
382:             * Getter for property agencia.
383:             * 
384:             * @return Value of property agencia.
385:             */
386:            public String getTipoConta() {
387:                return tipoConta;
388:            }
389:
390:            /**
391:             * Setter for property TipoConta.
392:             * 
393:             * @param tipoConta New value of property TipoConta.
394:             */
395:            public void setTipoConta(String tipoConta) {
396:                this .tipoConta = tipoConta;
397:            }
398:
399:            /**
400:             * Account na qual caira o lançamento
401:             * 
402:             * @return Value of property conta.
403:             */
404:            public Integer getConta() {
405:                return conta;
406:            }
407:
408:            /**
409:             * Account na qual caira o lançamento
410:             * 
411:             * @param conta New value of property conta.
412:             */
413:            public void setConta(Integer conta) {
414:                this .conta = conta;
415:            }
416:
417:            /**
418:             * Indica de o lançamento é de sistema
419:             * @return boolean 
420:             */
421:            public Boolean getEhDeSistema() {
422:                return ehDeSistema;
423:            }
424:
425:            /**
426:             * Indica de o lançamento é de sistema
427:             * @param persistentEhDeSistema
428:             */
429:            public void setEhDeSistema(Boolean persistentEhDeSistema) {
430:                this .ehDeSistema = persistentEhDeSistema;
431:            }
432:
433:            /**
434:             * Indica de o lançamento é uma previsão
435:             * @return boolean
436:             */
437:            public Boolean getEhPrevisao() {
438:                return ehPrevisao;
439:            }
440:
441:            /**
442:             * Indica de o lançamento é uma previsão
443:             * @param persistentEhPrevisao
444:             */
445:            public void setEhPrevisao(Boolean persistentEhPrevisao) {
446:                this .ehPrevisao = persistentEhPrevisao;
447:            }
448:
449:            /**
450:             * @see br.com.gfpshare.db.PersistentObject#validate()
451:             */
452:            public void validate() throws SQLException {
453:                validateValor(getValor());
454:                if (this .conta == null)
455:                    throw new SQLException(ErrosDeDadosMessages.getMessages()
456:                            .getString("ContaLancamentoInvalida"));
457:                if (this .tipo == null)
458:                    throw new SQLException(ErrosDeDadosMessages.getMessages()
459:                            .getString("TipoLancamentoInvalido"));
460:                if (this .dia == null)
461:                    throw new SQLException(ErrosDeDadosMessages.getMessages()
462:                            .getString("DiaLancamentoInvalido"));
463:            }
464:
465:            /**
466:             * @see br.com.gfpshare.db.PersistentObject#getAsString(int)
467:             */
468:            public String getAsString(int format) {
469:                switch (format) {
470:                case AccountSaving.CURTO:
471:                    return getDia() + " - " + getValor();
472:                case AccountSaving.MEDIO:
473:                    return getDia() + " - " + getValor() + " - "
474:                            + getDescricao();
475:                case AccountSaving.LONGO:
476:                    return toString();
477:                }
478:                return "";
479:            }
480:
481:            /**
482:             * Quantas vezes este lançamento será realizado
483:             * @return int
484:             */
485:            public int getVezesPraRealizar() {
486:                return vezesPraRealizar;
487:            }
488:
489:            /**
490:             * Quantas vezes este lançamento será realizado
491:             * @param vezesPraRealizar
492:             */
493:            public void setVezesPraRealizar(int vezesPraRealizar) {
494:                this .vezesPraRealizar = vezesPraRealizar;
495:            }
496:
497:            /**
498:             * Indica se numa consulta os subtipos do tipo selecionado devem ser incluidos
499:             * @return
500:             */
501:            public boolean isIncluirSubtipos() {
502:                return incluirSubtipos;
503:            }
504:
505:            /**
506:             * Indica se numa consulta os subtipos do tipo selecionado devem ser incluidos
507:             * @param incluirSubtipos
508:             */
509:            public void setIncluirSubtipos(boolean incluirSubtipos) {
510:                this .incluirSubtipos = incluirSubtipos;
511:            }
512:
513:            /**
514:             * Valida o campo valor do lançamento
515:             * @throws InvalidParameterException
516:             */
517:            public void validateValor(Object valor)
518:                    throws InvalidParameterException {
519:                if (valor != null)
520:                    this .valor = (Double) valor;
521:                if (this .valor == null
522:                        || this .valor.equals(Double.valueOf("0.0"))
523:                        || this .valor.equals(Double.valueOf("-0.0")))
524:                    throw new RuntimeException(ErrosDeDadosMessages
525:                            .getMessages().getString("ValorLancamentoInvalido"));
526:            }
527:
528:            /**
529:             * Valida o lancçamento como sendo uma transaferencia válida
530:             * @param transaction Lancamento a ser validado, null caso seja o próprio
531:             * @throws SQLException Caso os campo conta e tipo conta transf estejam vazios
532:             */
533:            public void validateTransfer(Transaction transaction)
534:                    throws SQLException {
535:                if (transaction == null) {
536:                    if (getTipoContaTransf() == null
537:                            || getContaTransf() == null)
538:                        throw new SQLException(ErrosDeDadosMessages
539:                                .getMessages()
540:                                .getString("SelecioneContaTransf"));
541:                } else {
542:                    if (transaction.getTipoContaTransf() == null
543:                            || transaction.getContaTransf() == null)
544:                        throw new SQLException(ErrosDeDadosMessages
545:                                .getMessages()
546:                                .getString("SelecioneContaTransf"));
547:                }
548:            }
549:
550:            /**
551:             * Identificado que visa relacionar dois lançamentos como send referentes a um 
552:             * transferencia dessa forma quando um dos lançamentos for removido o outro
553:             * também o será. 
554:             * @return Id da transferencia ou null caso não tenha ID
555:             */
556:            public Double getTransferencia() {
557:                return transferencia;
558:            }
559:
560:            /**
561:             * Identificado que visa relacionar dois lançamentos como send referentes a um 
562:             * transferencia dessa forma quando um dos lançamentos for removido o outro
563:             * também o será. 
564:             * @param persistentTransferencia Seta o Id da transferencia
565:             */
566:            public void setTransferencia(Double persistentTransferencia) {
567:                this .transferencia = persistentTransferencia;
568:            }
569:
570:            /**
571:             * Account para qual o valor foi transferido em caso de tipo = transferencia
572:             * @return Integer
573:             */
574:            public Integer getContaTransf() {
575:                return contaTransf;
576:            }
577:
578:            /**
579:             * Account para qual o valor foi transferido em caso de tipo = transferencia
580:             * @param persistentContaTransf
581:             */
582:            public void setContaTransf(Integer persistentContaTransf) {
583:                this .contaTransf = persistentContaTransf;
584:            }
585:
586:            /**
587:             * Tipo da conta para o qual o valor foi transferido em caso de tipo = transferencia
588:             * @return String
589:             */
590:            public String getTipoContaTransf() {
591:                return tipoContaTransf;
592:            }
593:
594:            /**
595:             * Tipo da conta para o qual o valor foi transferido em caso de tipo = transferencia
596:             * @param persistentTipoContaTransf
597:             */
598:            public void setTipoContaTransf(String persistentTipoContaTransf) {
599:                this.tipoContaTransf = persistentTipoContaTransf;
600:            }
601:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.