]>
Commit | Line | Data |
---|---|---|
8dfb76c9 MG |
1 | /******************************************************************************* |
2 | * Copyright (c) 2011, 2012 Stephan Herrmann and others. | |
3 | * All rights reserved. This program and the accompanying materials | |
4 | * are made available under the terms of the Eclipse Public License v1.0 | |
5 | * which accompanies this distribution, and is available at | |
6 | * http://www.eclipse.org/legal/epl-v10.html | |
7 | * | |
8 | * Contributors: | |
9 | * Stephan Herrmann - initial API and implementation | |
10 | * IBM Corporation - bug fixes | |
11 | *******************************************************************************/ | |
12 | package org.eclipse.jdt.annotation; | |
13 | ||
14 | import static java.lang.annotation.ElementType.LOCAL_VARIABLE; | |
15 | import static java.lang.annotation.ElementType.METHOD; | |
16 | import static java.lang.annotation.ElementType.PARAMETER; | |
17 | ||
18 | import java.lang.annotation.Documented; | |
19 | import java.lang.annotation.Retention; | |
20 | import java.lang.annotation.RetentionPolicy; | |
21 | import java.lang.annotation.Target; | |
22 | ||
23 | /** | |
24 | * Qualifier for a type in a method signature or a local variable declaration: | |
25 | * The entity (return value, parameter, local variable) whose type has this | |
26 | * annotation is allowed to have the value <code>null</code> at runtime. | |
27 | * <p> | |
28 | * This has two consequences: | |
29 | * <ul> | |
30 | * <li>Binding a <code>null</code> value to the entity is legal.</li> | |
31 | * <li>Dereferencing the entity is unsafe, i.e., a <code>NullPointerException</code> can occur at runtime.</li> | |
32 | * </ul> | |
33 | * </p> | |
34 | * @since 1.0 | |
35 | */ | |
36 | @Documented | |
37 | @Retention(RetentionPolicy.CLASS) | |
38 | @Target({ METHOD, PARAMETER, LOCAL_VARIABLE }) | |
39 | public @interface Nullable { | |
40 | // marker annotation with no members | |
41 | } |