oms3.annotations.Range Maven / Gradle / Ivy
/*
* $Id$
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
*/
package oms3.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** Range Information for fields
*
* @author Olaf David
* @version $Id$
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Inherited
public @interface Range {
/**
* The minimum value
* @return the minimal value
*/
double min() default Double.MIN_VALUE;
/**
* The maximum value
* @return the maximum value
*/
double max() default Double.MAX_VALUE;
/**
* Exclude the minimum value
*
* @return true if the minimum should be excluded
*/
boolean excl_min() default false;
/**
* Exclude the maximum value
*
* @return true if the minimum should be excluded
*/
boolean excl_max() default false;
}