public class Card implements Serializable {
private static final long serialVersionUID = 108374120L;
public static final char CLUB = '\u2663';
public static final char DIAMOND = '\u2666';
public static final char HEART = '\u2665';
public static final char SPADE = '\u2660';
/**
* @uml.property name="suit"
*/
private String suit;
/**
* @uml.property name="value"
*/
private int value;
/**
* @uml.property name="state"
*/
private String state;
public Card() {
}
public Card(int value, String suit) {
this.value = value;
this.suit = suit;
}
/**
* @return
* @uml.property name="suit"
*/
public String getSuit() {
return suit;
}
/**
* @param suit
* @uml.property name="suit"
*/
public void setSuit(String suit) {
this.suit = suit;
}
/**
* @return
* @uml.property name="value"
*/
public int getValue() {
return value;
}
/**
* @param value
* @uml.property name="value"
*/
public void setValue(int value) {
this.value = value;
}
/**
* @return
* @uml.property name="state"
*/
public String getState() {
return state;
}
/**
* @param state
* @uml.property name="state"
*/
public void setState(String state) {
this.state = state;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((suit == null) ? 0 : suit.hashCode());
result = prime * result + (int) (value ^ (value >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Card other = (Card) obj;
if (suit == null) {
if (other.suit != null)
return false;
} else if (!suit.equals(other.suit))
return false;
if (value != other.value)
return false;
return true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(2);
switch(value) {
case 11:
sb.append('J');
break;
case 12:
sb.append('Q');
break;
case 13:
sb.append('K');
break;
case 14:
sb.append('A');
break;
default:
sb.append(value);
break;
}
if ("C".equals(suit)) {
sb.append(CLUB);
} else if ("D".equals(suit)) {
sb.append(DIAMOND);
} else if ("H".equals(suit)) {
sb.append(HEART);
} else if ("S".equals(suit)) {
sb.append(SPADE);
}
return sb.toString();
}
}