package edu.pdx.cs410J.di;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.Map;
/**
* A Credit Card service that exposes its behavior via REST
*/
@Path("/rest/creditCard")
public class RestfulCreditCardService
{
private final CreditCardDatabase cards;
@Inject
public RestfulCreditCardService(CreditCardDatabase cards) {
this.cards = cards;
}
@GET
@Produces("text/plain")
public String allCardBalances() {
StringBuilder sb = new StringBuilder();
ImmutableMap<CreditCard, Double> balances = cards.getBalances();
for ( Map.Entry<CreditCard, Double> entry : balances.entrySet() ) {
sb.append(entry.getKey().getNumber());
sb.append("\t");
sb.append(entry.getValue());
sb.append("\n");
}
return sb.toString();
}
}