View Javadoc

1   /**********************************************
2    * Copyright (C) 2011 Lukas Laag
3    * This file is part of svgreal.
4    * 
5    * svgreal is free software: you can redistribute it and/or modify
6    * it under the terms of the GNU General Public License as published by
7    * the Free Software Foundation, either version 3 of the License, or
8    * (at your option) any later version.
9    * 
10   * svgreal is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   * 
15   * You should have received a copy of the GNU General Public License
16   * along with svgreal.  If not, see http://www.gnu.org/licenses/
17   **********************************************/
18  package org.vectomatic.svg.edit.client.model;
19  
20  /**
21   * Interface for classes which provide data validation
22   * for a metadata.
23   * @param <T>
24   * The metadata type
25   * @param <U>
26   * The javascript type which provides the property or object
27   * @author laaglu
28   */
29  public interface IValidator<T, U> {
30  	/**
31  	 * Validates the specified value.
32  	 * @param model The model object.
33  	 * @param value The value of this property for the specified model object.
34  	 * @return null if the value is valid, or a validation error
35  	 * message if the value is invalid.
36  	 */
37  	ValidationError validate(U model, T value);
38  }