08_advanced_continuations/src/OrderData.java
import com.uwyn.rife.site.ConstrainedBean;
import com.uwyn.rife.site.ConstrainedProperty;
import com.uwyn.rife.site.MetaData;
public class OrderData extends MetaData<ConstrainedBean, ConstrainedProperty> {
public final static String GROUND = "ground";
public final static String EXPRESS = "express";
public final static String AIR = "air";
public final static String AMEX = "amex";
public final static String VISA = "visa";
public final static String MASTERCARD = "mastercard";
private String shippingMethod;
private String creditCardType;
private String creditCardNumber;
private String creditCardExpiration;
public void activateMetaData() {
addGroup("shipping")
.addConstraint(new ConstrainedProperty("shippingMethod")
.notNull(true)
.inList(new String[] {GROUND, EXPRESS, AIR}));
addGroup("creditcard")
.addConstraint(new ConstrainedProperty("creditCardType")
.notNull(true)
.inList(new String[] {AMEX, VISA, MASTERCARD}))
.addConstraint(new ConstrainedProperty("creditCardNumber")
.notNull(true)
.maxLength(16))
.addConstraint(new ConstrainedProperty("creditCardExpiration")
.notNull(true)
.maxLength(5));
}
public void setShippingMethod(String shippingMethod) { this.shippingMethod = shippingMethod; }
public String getShippingMethod() { return shippingMethod; }
public void setCreditCardType(String creditCardType) { this.creditCardType = creditCardType; }
public String getCreditCardType() { return creditCardType; }
public void setCreditCardNumber(String creditCardNumber) { this.creditCardNumber = creditCardNumber; }
public String getCreditCardNumber() { return creditCardNumber; }
public void setCreditCardExpiration(String creditCardExpiration) { this.creditCardExpiration = creditCardExpiration; }
public String getCreditCardExpiration() { return creditCardExpiration; }
}