1 package net.sourceforge.finmodel.rules;
2
3 import java.util.Calendar;
4 import java.util.List;
5
6 import org.jfin.date.ScheduleException;
7
8 import net.sourceforge.finmodel.account.Account;
9 import net.sourceforge.finmodel.plan.Transaction;
10
11 public interface Rule {
12 public long getId();
13 public Account getSource();
14 public Account getDestination();
15 public List<Calendar> getSchedule() throws ScheduleException;
16 public Transaction createTransaction(Calendar calendar) throws ScheduleException;
17 public void addRuleListener( RuleListener listener );
18 public void removeRuleListener( RuleListener listener );
19 }