View Javadoc
1 /***
2 * Copyright (c) 2003 held jointly by the individual authors.
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published
6 * by the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; with out even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library; if not, write to the Free Software Foundation,
16 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 *
18 * > http://www.gnu.org/copyleft/lesser.html
19 * > http://www.opensource.org/licenses/lgpl-license.php
20 */
21 package net.mlw.gfw.ext.card;
22
23 import net.mlw.gfw.client.ClientContext;
24 import net.mlw.gfw.event.EventHandler;
25 import net.mlw.gfw.ext.card.event.PlayCardEvent;
26
27 /***
28 * @author Matthew L. Wilson
29 * @version $Revision: 1.4 $ $Date: 2004/06/29 20:32:54 $
30 */
31 public class SingleCardSelectionBehavior implements CardSelectionBehavior
32 {
33 private Card selectedCard;
34
35 public void setSelected(Card card, boolean selected)
36 {
37 if (selected)
38 {
39 selectedCard = card;
40 }
41 else if (selectedCard != null && selectedCard.equals(card))
42 {
43 selectedCard = null;
44 }
45 }
46
47 public boolean isSelected(Card card)
48 {
49 return (selectedCard == null) ? false : selectedCard.equals(card);
50 }
51
52 /***
53 * @see net.mlw.gfw.ext.card.CardSelectionBehavior#postProcess(net.mlw.gfw.event.EventHandler)
54 */
55 public void postProcess(ClientContext context, EventHandler eventHandler)
56 {
57 if (selectedCard != null)
58 {
59 eventHandler.onEvent(new PlayCardEvent(context.getUserName(), selectedCard));
60 setSelected(selectedCard, false);
61 }
62 }
63 /***
64 * @see net.mlw.gfw.ext.card.CardSelectionBehavior#getNumberOfCardsSelected()
65 */
66 public int getNumberOfCardsSelected()
67 {
68 return (selectedCard == null) ? 0 : 1;
69 }
70
71 }
This page was automatically generated by Maven