All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.validator.LengthValidator Maven / Gradle / Ivy

Go to download

Following the DRY (Don't Repeat Yourself) principle, Hibernate Validator let's you express your domain constraints once (and only once) and ensure their compliance at various level of your system automatically.

There is a newer version: 4.0.2.GA
Show newest version
//$Id: LengthValidator.java 15765 2009-01-09 14:56:30Z hardy.ferentschik $
package org.hibernate.validator;

import java.io.Serializable;

import org.hibernate.mapping.Column;
import org.hibernate.mapping.Property;

/**
 * Do check a length restriction on a string, and apply expected contraints on hibernate metadata.
 *
 * @author Gavin King
 */
public class LengthValidator implements Validator, PropertyConstraint, Serializable {
	private int max;
	private int min;

	public void initialize(Length parameters) {
		max = parameters.max();
		min = parameters.min();
	}

	public boolean isValid(Object value) {
		if ( value == null ) return true;
		if ( !( value instanceof String ) ) return false;
		String string = (String) value;
		int length = string.length();
		return length >= min && length <= max;
	}

	public void apply(Property property) {
		Column col = (Column) property.getColumnIterator().next();
		if ( max < Integer.MAX_VALUE ) col.setLength( max );
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy