1831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye/* 2831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * Copyright (C) 2013 The Android Open Source Project 3831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * 4831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * Licensed under the Apache License, Version 2.0 (the "License"); 5831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * you may not use this file except in compliance with the License. 6831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * You may obtain a copy of the License at 7831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * 8831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * http://www.apache.org/licenses/LICENSE-2.0 9831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * 10831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * Unless required by applicable law or agreed to in writing, software 11831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * distributed under the License is distributed on an "AS IS" BASIS, 12831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * See the License for the specific language governing permissions and 14831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * limitations under the License. 15831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye */ 16831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyepackage android.annotation; 17831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye 18831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport java.lang.annotation.Retention; 19831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport java.lang.annotation.Target; 20831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye 21831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport static java.lang.annotation.ElementType.FIELD; 22831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport static java.lang.annotation.ElementType.METHOD; 23831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport static java.lang.annotation.ElementType.PARAMETER; 24831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyeimport static java.lang.annotation.RetentionPolicy.SOURCE; 25831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye 26831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye/** 27831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * Denotes that a parameter, field or method return value can never be null. 28831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * <p> 29831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye * This is a marker annotation and it has no specific attributes. 30bbc75f34e6b43c8310fb1deff02b0508acdf9659Tor Norbye * 316503bd8e33dbf6e8357256d43c6e1158e32a0268Jeff Sharkey * @paramDoc This value must never be {@code null}. 326503bd8e33dbf6e8357256d43c6e1158e32a0268Jeff Sharkey * @returnDoc This value will never be {@code null}. 33bbc75f34e6b43c8310fb1deff02b0508acdf9659Tor Norbye * @hide 34831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye */ 35831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye@Retention(SOURCE) 36831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye@Target({METHOD, PARAMETER, FIELD}) 37831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbyepublic @interface NonNull { 38831c5df6035b84bfcb3242c5c0a39acd7e3fd1b5Tor Norbye} 39