// Path: src/test/java/org/vaadin/easybinder/testentity/Flight.java
// @FlightValid
// @GroupSequenceProvider(FlightGroupProvider.class)
// public class Flight {
// 	@Valid
// 	FlightId flightId;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date sbt;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date ebt;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date abt;
// 
// 	@NotNull(groups = FlightGroupProvider.Scheduled.class, message = "Gate should be set when scheduled")
// 	String gate;
// 	
// 	boolean canceled;
// 
// 	public Flight() {
// 		flightId = new FlightId();
// 	}
// 
// 	/**
// 	 * @return the flightId
// 	 */
// 	public FlightId getFlightId() {
// 		return flightId;
// 	}
// 
// 	/**
// 	 * @param flightId
// 	 *            the flightId to set
// 	 */
// 	public void setFlightId(FlightId flightId) {
// 		this.flightId = flightId;
// 	}
// 
// 	/**
// 	 * @return the sbt
// 	 */
// 	public Date getSbt() {
// 		return sbt;
// 	}
// 
// 	/**
// 	 * @return the ebt
// 	 */
// 	public Date getEbt() {
// 		return ebt;
// 	}
// 
// 	/**
// 	 * @return the abt
// 	 */
// 	public Date getAbt() {
// 		return abt;
// 	}
// 
// 	/**
// 	 * @return the gate
// 	 */
// 	public String getGate() {
// 		return gate;
// 	}
// 
// 	/**
// 	 * @param sbt
// 	 *            the sbt to set
// 	 */
// 	public void setSbt(Date sbt) {
// 		this.sbt = sbt;
// 	}
// 
// 	/**
// 	 * @param ebt
// 	 *            the ebt to set
// 	 */
// 	public void setEbt(Date ebt) {
// 		this.ebt = ebt;
// 	}
// 
// 	/**
// 	 * @param abt
// 	 *            the abt to set
// 	 */
// 	public void setAbt(Date abt) {
// 		this.abt = abt;
// 	}
// 
// 	/**
// 	 * @param gate
// 	 *            the gate to set
// 	 */
// 	public void setGate(String gate) {
// 		this.gate = gate;
// 	}
// 	
// 	public void setCanceled(boolean canceled) {
// 		this.canceled = canceled;
// 	}
// 	
// 	public boolean getCanceled() {
// 		return canceled;
// 	}
// 
// 	public boolean isCanceled() {
// 		return canceled;
// 	}
// 
// }
// 
// Path: src/test/java/org/vaadin/easybinder/testentity/FlightValidator.java
// public class FlightValidator implements ConstraintValidator<FlightValid, Flight> {
// 
// 	@Override
// 	public void initialize(FlightValid constraintAnnotation) {
// 	}
// 
// 	@Override
// 	public boolean isValid(Flight flight, ConstraintValidatorContext context) {
// 		return (flight.getAbt() == null || flight.getEbt() != null)
// 				&& (flight.getEbt() == null || flight.getSbt() != null);
// 	}
// }
// 
// Path: src/test/java/org/vaadin/easybinder/testentity/FlightId.java
// public static enum LegType {
// 	DEPARTURE, ARRIVAL
// }


import com.vaadin.data.BeanValidationBinder;
import com.vaadin.data.Binder;
import com.vaadin.data.Converter;
import com.vaadin.data.RequiredFieldConfigurator;
import com.vaadin.data.Result;
import com.vaadin.data.converter.LocalDateTimeToDateConverter;
import com.vaadin.data.converter.LocalDateToDateConverter;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.DateField;
import com.vaadin.ui.DateTimeField;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.RadioButtonGroup;
import com.vaadin.ui.TextField;
import java.time.ZoneId;
import java.util.EnumSet;
import javax.validation.constraints.Min;
import org.vaadin.addonhelpers.AbstractTest;
import org.vaadin.easybinder.testentity.Flight;
import org.vaadin.easybinder.testentity.FlightValid;
import org.vaadin.easybinder.testentity.FlightValidator;
import org.vaadin.easybinder.testentity.FlightId.LegType;
package org.vaadin.easybinder.example;





public class VaadinBeanBinderExample extends AbstractTest {
	private static final long serialVersionUID = 1L;

	TextField airline = new TextField("Airline");
	TextField flightNumber = new TextField("Flight number");
	TextField flightSuffix = new TextField("Flight suffix");
	DateField date = new DateField("Date");
// Path: src/test/java/org/vaadin/easybinder/testentity/Flight.java
// @FlightValid
// @GroupSequenceProvider(FlightGroupProvider.class)
// public class Flight {
// 	@Valid
// 	FlightId flightId;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date sbt;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date ebt;
// 
// 	@Temporal(TemporalType.TIMESTAMP)
// 	Date abt;
// 
// 	@NotNull(groups = FlightGroupProvider.Scheduled.class, message = "Gate should be set when scheduled")
// 	String gate;
// 	
// 	boolean canceled;
// 
// 	public Flight() {
// 		flightId = new FlightId();
// 	}
// 
// 	/**
// 	 * @return the flightId
// 	 */
// 	public FlightId getFlightId() {
// 		return flightId;
// 	}
// 
// 	/**
// 	 * @param flightId
// 	 *            the flightId to set
// 	 */
// 	public void setFlightId(FlightId flightId) {
// 		this.flightId = flightId;
// 	}
// 
// 	/**
// 	 * @return the sbt
// 	 */
// 	public Date getSbt() {
// 		return sbt;
// 	}
// 
// 	/**
// 	 * @return the ebt
// 	 */
// 	public Date getEbt() {
// 		return ebt;
// 	}
// 
// 	/**
// 	 * @return the abt
// 	 */
// 	public Date getAbt() {
// 		return abt;
// 	}
// 
// 	/**
// 	 * @return the gate
// 	 */
// 	public String getGate() {
// 		return gate;
// 	}
// 
// 	/**
// 	 * @param sbt
// 	 *            the sbt to set
// 	 */
// 	public void setSbt(Date sbt) {
// 		this.sbt = sbt;
// 	}
// 
// 	/**
// 	 * @param ebt
// 	 *            the ebt to set
// 	 */
// 	public void setEbt(Date ebt) {
// 		this.ebt = ebt;
// 	}
// 
// 	/**
// 	 * @param abt
// 	 *            the abt to set
// 	 */
// 	public void setAbt(Date abt) {
// 		this.abt = abt;
// 	}
// 
// 	/**
// 	 * @param gate
// 	 *            the gate to set
// 	 */
// 	public void setGate(String gate) {
// 		this.gate = gate;
// 	}
// 	
// 	public void setCanceled(boolean canceled) {
// 		this.canceled = canceled;
// 	}
// 	
// 	public boolean getCanceled() {
// 		return canceled;
// 	}
// 
// 	public boolean isCanceled() {
// 		return canceled;
// 	}
// 
// }
// 
// Path: src/test/java/org/vaadin/easybinder/testentity/FlightValidator.java
// public class FlightValidator implements ConstraintValidator<FlightValid, Flight> {
// 
// 	@Override
// 	public void initialize(FlightValid constraintAnnotation) {
// 	}
// 
// 	@Override
// 	public boolean isValid(Flight flight, ConstraintValidatorContext context) {
// 		return (flight.getAbt() == null || flight.getEbt() != null)
// 				&& (flight.getEbt() == null || flight.getSbt() != null);
// 	}
// }
// 
// Path: src/test/java/org/vaadin/easybinder/testentity/FlightId.java
// public static enum LegType {
// 	DEPARTURE, ARRIVAL
// }


// Path: src/test/java/org/vaadin/easybinder/example/VaadinBeanBinderExample.java
import com.vaadin.data.BeanValidationBinder;
import com.vaadin.data.Binder;
import com.vaadin.data.Converter;
import com.vaadin.data.RequiredFieldConfigurator;
import com.vaadin.data.Result;
import com.vaadin.data.converter.LocalDateTimeToDateConverter;
import com.vaadin.data.converter.LocalDateToDateConverter;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.DateField;
import com.vaadin.ui.DateTimeField;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.RadioButtonGroup;
import com.vaadin.ui.TextField;
import java.time.ZoneId;
import java.util.EnumSet;
import javax.validation.constraints.Min;
import org.vaadin.addonhelpers.AbstractTest;
import org.vaadin.easybinder.testentity.Flight;
import org.vaadin.easybinder.testentity.FlightValid;
import org.vaadin.easybinder.testentity.FlightValidator;
import org.vaadin.easybinder.testentity.FlightId.LegType;

package org.vaadin.easybinder.example;





public class VaadinBeanBinderExample extends AbstractTest {
	private static final long serialVersionUID = 1L;

	TextField airline = new TextField("Airline");
	TextField flightNumber = new TextField("Flight number");
	TextField flightSuffix = new TextField("Flight suffix");
	DateField date = new DateField("Date");
	RadioButtonGroup<LegType> legType = new RadioButtonGroup<>("Leg type", EnumSet.allOf(LegType.class));