1 package net.sourceforge.finmodel.account;
2
3 import java.math.BigDecimal;
4 import java.util.Calendar;
5 import java.util.Set;
6
7 import net.sourceforge.finmodel.asset.AssetImpl;
8 import net.sourceforge.finmodel.rules.Rule;
9
10 import org.jfin.date.Period;
11
12 public interface Account {
13 public long getId();
14 public String getName();
15 public AssetImpl getAsset();
16 public Set<Rule> getSourceRules();
17 public void addSourceRule( Rule rule );
18 public void removeSourceRule( Rule rule );
19
20 public Set<Rule> getDestinationRules();
21 public void addDestinationRule( Rule rule );
22 public void removeDestinationRule( Rule rule );
23
24 public BigDecimal getShares(Calendar date);
25 public BigDecimal getBalance(Calendar date);
26 public BigDecimal getAverageDailyBalance(Period period);
27 }