KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > cmp2 > commerce > Card


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.test.cmp2.commerce;
23
24
25 public class Card implements java.io.Serializable JavaDoc {
26    public static final int VISA = 0;
27    public static final int AMERICAN_EXPRESS = 1;
28    public static final int MASTER_CARD = 2;
29    public static final int DISCOVER = 3;
30    
31    private int type;
32     private FormalName cardHolder;
33     private String JavaDoc cardNumber;
34     private int billingZip;
35    
36    public Card() {
37     }
38     
39     public FormalName getCardHolder() {
40         return cardHolder;
41     }
42     
43     public void setCardHolder(FormalName name) {
44         this.cardHolder = name;
45     }
46     
47     public int getBillingZip() {
48         return billingZip;
49     }
50     
51     public void setBillingZip(int zip) {
52         this.billingZip = zip;
53     }
54     
55     public String JavaDoc getCardNumber() {
56         return cardNumber;
57     }
58     
59     public void setCardNumber(String JavaDoc num) {
60         this.cardNumber = num;
61     }
62     
63    public int getType() {
64       return type;
65    }
66    
67    public void setType(int type) {
68       if(type != VISA &&
69             type != AMERICAN_EXPRESS &&
70             type != MASTER_CARD &&
71             type != DISCOVER) {
72          throw new IllegalArgumentException JavaDoc("Unknown card type: "+type);
73       }
74       this.type = type;
75    }
76
77     public boolean equals(Object JavaDoc obj) {
78         if(obj instanceof Card) {
79             Card c = (Card)obj;
80             return
81                     equal(c.cardNumber, cardNumber) &&
82                     equal(c.cardHolder, cardHolder) &&
83                     c.type == type &&
84                     c.billingZip == billingZip;
85         }
86         return false;
87     }
88     
89     private boolean equal(Object JavaDoc a, Object JavaDoc b) {
90         return (a==null && b==null) || (a!=null && a.equals(b));
91     }
92     
93     public String JavaDoc toString() {
94         return cardNumber;
95     }
96 }
97
Popular Tags