/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.test;
import org.beanfabrics.model.AbstractPM;
import org.beanfabrics.model.BooleanPM;
import org.beanfabrics.model.DatePM;
import org.beanfabrics.model.IOperationPM;
import org.beanfabrics.model.IconPM;
import org.beanfabrics.model.IntegerPM;
import org.beanfabrics.model.OperationPM;
import org.beanfabrics.model.PMManager;
import org.beanfabrics.model.TextPM;
import org.beanfabrics.support.Operation;
import org.beanfabrics.support.Validation;
/**
* @author Michael Karneim
*/
public class ContactPM extends AbstractPM {
final TextPM firstname = new TextPM();
final TextPM lastname = new TextPM();
final DatePM birthday = new DatePM();
final IntegerPM children = new IntegerPM();
final BooleanPM isMarried = new BooleanPM();
final IconPM icon = new IconPM();
final NotePM notes = new NotePM();
// final TextPM row1 = new TextPM();
// final TextPM row2 = new TextPM();
// final TextPM row3 = new TextPM();
// final TextPM row4 = new TextPM();
// final TextPM row5 = new TextPM();
// final TextPM row6 = new TextPM();
// final TextPM row7 = new TextPM();
// final TextPM row8 = new TextPM();
// final TextPM row9 = new TextPM();
final IOperationPM addChild = new OperationPM();
final AddressPM address = new AddressPM();
public ContactPM() {
PMManager.setup(this);
icon.setIconUrl(ContactPM.class.getResource("/org/beanfabrics/swing/beanfabrics16x16.png"));
}
@Validation(path = "addChild", message = "your are single")
public boolean validateAddChildren() {
return isMarried.isValid() && !isMarried.isEmpty() && isMarried.getBoolean();
}
@Operation
public void addChild() {
int num = children.getInteger() == null ? 0 : children.getInteger();
children.setInteger(num + 1);
}
public String paramString() {
return "" + firstname + " " + lastname + " " + birthday + " " + address.toString();
}
}