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

jp.objectfanatics.assertion.constraints.Max Maven / Gradle / Ivy

There is a newer version: 0.0.30
Show newest version
/*
 * Copyright (C) 2005-2009 Makoto Sato. All Rights Reserved.
 * Copyright (C) 2010 OBJECT FANATICS Co.,Ltd. All Rights Reserved.
 *
 * 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 jp.objectfanatics.assertion.constraints;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

//DOUBLE_CHECKED 04.04.2010
/**
 * The annotated element must be non-null, and equals to or less than the specified value.
 * 

* Supported types are: *

    *
  • byte
  • *
  • short
  • *
  • int
  • *
  • long
  • *
  • float
  • *
  • double
  • *
  • Byte
  • *
  • Short
  • *
  • Integer
  • *
  • Long
  • *
  • Float
  • *
  • Double
  • *
  • BigInteger
  • *
  • BigDecimal
  • *
  • AtomicInteger
  • *
  • AtomicLong
  • *
*

* * @author Makoto Sato * @author Hirokatsu Endo */ @Documented @Retention(RUNTIME) @Target( { METHOD, PARAMETER }) @ConstraintAnnotation public @interface Max { // TODO: MaxやMinのような数値比較を行う場合のパラメータについては、文字列で指定するようにして、文字列から適切な型に変換するようにする。 // この場合、コンパイラによる文字列チェックをいれることはできないが、ウィービング時にエラーとなるので、実害はない。 // 現状は、すべて double として扱われるため、long のような double よりも精度の大きい数を扱う場合に、暗黙的条件が入るので、よろしくない。 // また、入力値をdoubleとして受け取るので、実際に入力した文字列がわからない(100L, 10E2, 100.0等)。 // javadoc として、この考え方を残しておきましょう。 double value(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy