package com.ning.billing.invoice.model;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class InvoiceItemList extends ArrayList<InvoiceItem> {
private static final int NUMBER_OF_DECIMALS = InvoicingConfiguration.getNumberOfDecimals();
public BigDecimal getTotalAmount() {
BigDecimal total = new BigDecimal("0");
for (InvoiceItem item : this) {
total = total.add(item.getAmount());
}
return total.setScale(NUMBER_OF_DECIMALS);
}
public List<InvoiceItem> getBySubscriptionId(UUID subscriptionId) {
List<InvoiceItem> thisList = new ArrayList<InvoiceItem>();
for (InvoiceItem item : this) {
if (item.getSubscriptionId() == subscriptionId) {
thisList.add(item);
}
}
return thisList;
}
public void removeZeroDollarItems() {
List<InvoiceItem> itemsToRemove = new ArrayList<InvoiceItem>();
for (InvoiceItem item : this) {
if (item.getAmount().compareTo(BigDecimal.ZERO) == 0) {
itemsToRemove.add(item);
}
}
this.removeAll(itemsToRemove);
}
}