/* * Copyright 2009 Andrew Pietsch * * 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.dragome.forms.bindings.client.form.validation; import com.dragome.forms.bindings.client.form.FieldModel; import com.dragome.forms.bindings.client.form.FieldModelBase; import com.dragome.forms.bindings.client.form.FormModel; import com.dragome.forms.bindings.client.form.FormattedFieldModel; import com.dragome.forms.bindings.client.form.FormattedListFieldModel; import com.dragome.forms.bindings.client.form.ListFieldModel; import com.dragome.forms.bindings.client.form.ListFieldModelBase; /** * Created by IntelliJ IDEA. * User: andrew * Date: Jun 19, 2008 * Time: 12:27:52 PM * To change this template use File | Settings | File Templates. */ public class ValidationPlugin { public static <T> FieldValidationBuilder<T> validateField(FieldModel<T> field) { return new FieldValidationBuilder<T>(getValidationManager(field.getFormModel()), field); } public static <T> FormattedFieldValidationBuilder<T> validateField(FormattedFieldModel<T> field) { return new FormattedFieldValidationBuilder<T>(getValidationManager(field.getFormModel()), field); } public static <T> ListFieldValidationBuilder<T> validateField(ListFieldModel<T> field) { return new ListFieldValidationBuilder<T>(getValidationManager(field.getFormModel()), field); } public static <T> FormattedListFieldValidationBuilder<T> validateField(FormattedListFieldModel<T> field) { return new FormattedListFieldValidationBuilder<T>(getValidationManager(field.getFormModel()), field); } public static HasValidation getFieldValidator(FieldModelBase<?> field) { return getValidationManager(field.getFormModel()).getValidator(field); } public static HasIndexedValidationResult getFieldValidator(ListFieldModelBase<?> field) { return getValidationManager(field.getFormModel()).getIndexedValidator(field); } public static ValidationManager getValidationManager(FormModel form) { ValidationManager manager= (ValidationManager) form.getProperty(ValidationManager.class); if (manager == null) { manager= new ValidationManager(form); form.putProperty(ValidationManager.class, manager); form.addBindingCallback(manager); } return manager; } }