/** * */ package org.hyperdata.scute.tabs; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import org.hyperdata.scute.cards.Card; /** * @author danny * */ public class CardListImpl implements CardList { private List<Card> cards = new ArrayList<Card>(); // LinkedList might be more natural..? private int index = 0; /* (non-Javadoc) * @see org.hyperdata.scute.history.CardList#getPrevious() */ @Override public Card previous() { if(--index == -1){ index = cards.size()-1; } return cards.get(index); } /* (non-Javadoc) * @see org.hyperdata.scute.history.CardList#getNext() */ @Override public Card next() { if(++index == cards.size()){ index = 0; } return cards.get(index); } /* (non-Javadoc) * @see org.hyperdata.scute.history.CardList#add(org.hyperdata.scute.cards.Card) */ @Override public void add(Card card) { cards.add(card); } /* (non-Javadoc) * @see org.hyperdata.scute.history.CardList#remove() */ @Override public void remove() { cards.remove(index); } }