BrightSide Workbench Full Report + Source Code
AmountRetainedSet.java
Go to the documentation of this file.
1 /*
2  * TurrĂ³ i Cutiller Foundation. License notice.
3  * Copyright (C) 2013 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 package org.turro.financials.model.document;
20 
21 import java.util.Iterator;
22 import java.util.TreeSet;
23 
28 public class AmountRetainedSet extends TreeSet<AmountRetained> {
29 
30  public boolean add(Double perCent, Double taxable, int fractionDigits) {
31  AmountRetained ar = getPercent(perCent);
32  ar.setFractionDigits(fractionDigits);
33  ar.add(taxable);
34  return super.add(ar);
35  }
36 
37  public AmountRetained getPercent(Double perCent) {
38  for(AmountRetained ar : this) {
39  if(ar.isPerCent(perCent)) {
40  return ar;
41  }
42  }
43  return new AmountRetained(perCent);
44  }
45 
46  public double getTaxable() {
47  double amount = 0;
48  for(AmountRetained a : this) {
49  amount += a.getTaxable();
50  }
51  return amount;
52  }
53 
54  public double getRetained() {
55  double amount = 0;
56  for(AmountRetained a : this) {
57  amount += a.getRetained();
58  }
59  return amount;
60  }
61 
62  public void clearEmpty() {
63  Iterator<AmountRetained> it = iterator();
64  while(it.hasNext()) {
65  if(it.next().isEmpty()) {
66  it.remove();
67  }
68  }
69  }
70 
71 }
boolean add(Double perCent, Double taxable, int fractionDigits)