Nullable.java revision be61afaa55a31971ebd76bbdc03586f240b51cbe
1be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye/* 2be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * Copyright (C) 2013 The Android Open Source Project 3be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * 4be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * Licensed under the Apache License, Version 2.0 (the "License"); 5be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * you may not use this file except in compliance with the License. 6be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * You may obtain a copy of the License at 7be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * 8be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * http://www.apache.org/licenses/LICENSE-2.0 9be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * 10be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * Unless required by applicable law or agreed to in writing, software 11be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * distributed under the License is distributed on an "AS IS" BASIS, 12be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * See the License for the specific language governing permissions and 14be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * limitations under the License. 15be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye */ 16be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyepackage android.support.annotation; 17be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye 18be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport java.lang.annotation.Retention; 19be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport java.lang.annotation.Target; 20be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye 21be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport static java.lang.annotation.ElementType.FIELD; 22be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport static java.lang.annotation.ElementType.METHOD; 23be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport static java.lang.annotation.ElementType.PARAMETER; 24be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyeimport static java.lang.annotation.RetentionPolicy.CLASS; 25be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye 26be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye/** 27be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * Denotes that a parameter, field or method return value can be null. 28be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * <p> 29be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * When decorating a method call parameter, this denotes that the parameter can 30be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * legitimately be null and the method will gracefully deal with it. Typically 31be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * used on optional parameters. 32be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * <p> 33be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * When decorating a method, this denotes the method might legitimately return 34be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * null. 35be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * <p> 36be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye * This is a marker annotation and it has no specific attributes. 37be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye */ 38be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye@Retention(CLASS) 39be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye@Target({METHOD, PARAMETER, FIELD}) 40be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbyepublic @interface Nullable { 41be61afaa55a31971ebd76bbdc03586f240b51cbeTor Norbye} 42