Java tutorial
/* * Copyright 2011 Nicolas Frankel * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.moorevaadin.vaadin7.beanvalidation; import java.util.Date; import com.vaadin.data.fieldgroup.DefaultFieldGroupFieldFactory; import com.vaadin.data.fieldgroup.FieldGroupFieldFactory; import com.vaadin.ui.DateField; import com.vaadin.ui.Field; @SuppressWarnings("serial") public class EnhancedFieldGroupFieldFactory implements FieldGroupFieldFactory { private FieldGroupFieldFactory fieldFactory = new DefaultFieldGroupFieldFactory(); @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public <T extends Field> T createField(Class<?> dataType, Class<T> fieldType) { if (Date.class.isAssignableFrom(dataType)) { return (T) createDateField(); } return fieldFactory.createField(dataType, fieldType); } @SuppressWarnings({ "rawtypes", "unchecked" }) protected <T extends Field> T createDateField() { DateField field = new DateField(); field.setImmediate(true); return (T) field; } }