blob: c043e2db6a98442c1cf75d63eb9dbfce62aa37b4 [file] [log] [blame]
Tor Norbyecb59f2a2015-03-02 07:55:51 -08001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package android.annotation;
17
18import java.lang.annotation.Retention;
19import java.lang.annotation.Target;
20
Tor Norbye8cf2c902015-07-31 16:42:41 -070021import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
Tor Norbyecb59f2a2015-03-02 07:55:51 -080022import static java.lang.annotation.ElementType.FIELD;
23import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
24import static java.lang.annotation.ElementType.METHOD;
25import static java.lang.annotation.ElementType.PARAMETER;
26import static java.lang.annotation.RetentionPolicy.SOURCE;
27
28/**
29 * Denotes that the annotated element should be an int or long in the given range
30 * <p>
31 * Example:
Neil Fuller71fbb812015-11-30 09:51:33 +000032 * <pre><code>
Tor Norbyecb59f2a2015-03-02 07:55:51 -080033 * &#64;IntRange(from=0,to=255)
34 * public int getAlpha() {
35 * ...
36 * }
Neil Fuller71fbb812015-11-30 09:51:33 +000037 * </code></pre>
Tor Norbyecb59f2a2015-03-02 07:55:51 -080038 *
39 * @hide
40 */
41@Retention(SOURCE)
Tor Norbye8cf2c902015-07-31 16:42:41 -070042@Target({METHOD,PARAMETER,FIELD,LOCAL_VARIABLE,ANNOTATION_TYPE})
Tor Norbyecb59f2a2015-03-02 07:55:51 -080043public @interface IntRange {
44 /** Smallest value, inclusive */
45 long from() default Long.MIN_VALUE;
46 /** Largest value, inclusive */
47 long to() default Long.MAX_VALUE;
48}