/* * JBoss, Home of Professional Open Source * * Distributable under LGPL license. * See terms of license at gnu.org. */ package com.jboss.dvd.seam; import java.io.Serializable; import javax.persistence.*; import org.jboss.seam.annotations.Name; import org.hibernate.validator.*; @Entity @Name("customer") @DiscriminatorValue("customer") public class Customer extends User implements Serializable { private static final long serialVersionUID = 5699525147178760355L; public static String[] cctypes = {"MasterCard", "Visa", "Discover", "Amex", "Dell Preferred"}; String address1; String address2; String city; String state; String zip; String email; String phone; Integer creditCardType = 1; String creditCard = "000-0000-0000"; int ccMonth = 1; int ccYear = 2005; public Customer() { } @Column(name="ADDRESS1",length=50) @NotNull public String getAddress1() { return address1; } public void setAddress1(String address1) { this.address1 = address1; } @Column(name="ADDRESS2",length=50) @NotNull public String getAddress2() { return address2; } public void setAddress2(String address2) { this.address2 = address2; } @Column(name="CITY",length=50) @NotNull public String getCity() { return city; } public void setCity(String city) { this.city = city; } @Column(name="STATE",length=2) @NotNull @Length(min=2,max=2) public String getState() { return state; } public void setState(String state) { this.state = state; } @Column(name="ZIP", length=10) @Length(min=5, max=10) @Pattern(regex="[0-9]{5}(-[0-9]{4})?", message="not a valid zipcode") // {validator.zip} @NotNull public String getZip() { return zip; } public void setZip(String zip) { this.zip = zip; } @Column(name="EMAIL",length=50) @Email public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Column(name="PHONE",length=50) public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Column(name="CREDITCARDTYPE") public Integer getCreditCardType() { return creditCardType; } public void setCreditCardType(Integer type) { this.creditCardType = type; } @Transient public String getCreditCardTypeString() { if (creditCardType<1 || creditCardType>cctypes.length) { return ""; } return cctypes[creditCardType-1]; } @Column(name="CC_NUM", length=50) public String getCreditCard() { return creditCard; } public void setCreditCard(String creditCard) { this.creditCard = creditCard; } @Column(name="CC_MONTH", length=50) public int getCreditCardMonth() { return ccMonth; } public void setCreditCardMonth(int ccMonth) { this.ccMonth = ccMonth; } @Column(name="CC_YEAR", length=50) public int getCreditCardYear() { return ccYear; } public void setCreditCardYear(int ccYear) { this.ccYear = ccYear; } @Transient public String getCreditCardExpiration() { return "" + ccMonth + "/" + ccYear; } @Override public String toString() { return "Customer#" + getId() + "(" + userName + ")"; } }