My favorites
▼
|
Sign in
kcode
Sample code projects
Project Home
Downloads
Wiki
Issues
Source
Checkout
Browse
Changes
Source path:
svn
/
trunk
/
billpayevolution
/
billpay
/
Refactoring3AcyclicRelationships
/
src
/
com
/
extensiblejava
/
bill
/
Bill.java
r109
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.extensiblejava.bill;
import com.extensiblejava.audit.*;
import com.extensiblejava.financial.*;
import java.math.*;
import com.extensiblejava.bill.data.*;
public class Bill implements Payable, Auditable {
private BillDataBean billData;
public static Bill loadBill(BillEntityLoader loader) {
return loader.loadBill();
}
public Bill(BillDataBean billData) {
this.billData = billData;
}
public String getBillId() { return this.billData.getBillId().toString(); }
public String getName() { return this.billData.getName(); }
public BigDecimal getAmount() { return this.billData.getAmount(); }
public BigDecimal getAuditedAmount() { return (this.billData.getAuditedAmount() == null ? null : this.billData.getAuditedAmount()); }
public BigDecimal getPaidAmount() { return this.billData.getPaidAmount(); }
public String getStatus() {
if (this.billData.getPaidAmount() != null) {
return "PAID";
} else if (this.billData.getAuditedAmount() != null) {
return "AUDITED";
} else {
return "NEW";
}
}
public void audit(AuditFacade auditor) {
this.billData.setAuditedAmount(auditor.audit(this));
this.persist();
}
public void pay() {
if (this.billData.getPaidAmount() == null) {
Payment payer = new Payment();
this.billData.setPaidAmount(payer.generateDraft(this));
this.persist();
}
}
private void persist() {
BillDb.update(billData);
}
}
Show details
Hide details
Change log
r70
by pragkirk on Nov 5, 2009
Diff
Initial Version
Go to:
...Refactoring3AcyclicRelationships
...ing3AcyclicRelationships/WEB-INF
...licRelationships/WEB-INF/app.tld
...AcyclicRelationships/WEB-INF/lib
...hips/WEB-INF/lib/servlet-api.jar
...tionships/WEB-INF/lib/struts.jar
...ionships/WEB-INF/struts-bean.tld
...nships/WEB-INF/struts-config.xml
...ionships/WEB-INF/struts-form.tld
...ionships/WEB-INF/struts-html.tld
...onships/WEB-INF/struts-logic.tld
...hips/WEB-INF/struts-template.tld
...Relationships/WEB-INF/struts.tld
...licRelationships/WEB-INF/web.xml
...g3AcyclicRelationships/build.xml
...ctoring3AcyclicRelationships/jsp
...Relationships/jsp/BillDetail.jsp
...ationships/jsp/CustomerBills.jsp
...clicRelationships/jsp/search.jsp
...ctoring3AcyclicRelationships/src
...ing3AcyclicRelationships/src/com
...tionships/src/com/extensiblejava
...ips/src/com/extensiblejava/audit
...siblejava/audit/AuditFacade.java
...iblejava/audit/AuditFacade1.java
...ensiblejava/audit/Auditable.java
...hips/src/com/extensiblejava/bill
...om/extensiblejava/bill/Bill.java
...ejava/bill/BillEntityLoader.java
...xtensiblejava/bill/Customer.java
...a/bill/CustomerEntityLoader.java
...ill/DefaultBillEntityLoader.java
...DefaultCustomerEntityLoader.java
...siblejava/bill/EntityLoader.java
...om/extensiblejava/bill/Name.java
...src/com/extensiblejava/bill/data
...java/bill/data/BillDataBean.java
...nsiblejava/bill/data/BillDb.java
.../bill/data/CustomerDataBean.java
...src/com/extensiblejava/financial
...siblejava/financial/Payable.java
...siblejava/financial/Payment.java
...nships/src/com/extensiblejava/ui
...tensiblejava/ui/AuditAction.java
...blejava/ui/BillDetailAction.java
...siblejava/ui/BillDetailForm.java
...ava/ui/CustomerSearchAction.java
...ejava/ui/CustomerSearchForm.java
...i/CustomerSearchResultsBean.java
...extensiblejava/ui/PayAction.java
Project members,
sign in
to write a code review
Older revisions
All revisions of this file
File info
Size: 1448 bytes, 50 lines
View raw file
Powered by
Google Project Hosting