aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/util/NonNullForAll.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/wireguard/util/NonNullForAll.java')
-rw-r--r--app/src/main/java/com/wireguard/util/NonNullForAll.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/src/main/java/com/wireguard/util/NonNullForAll.java b/app/src/main/java/com/wireguard/util/NonNullForAll.java
new file mode 100644
index 00000000..f74cb616
--- /dev/null
+++ b/app/src/main/java/com/wireguard/util/NonNullForAll.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright © 2018 Eric Kuck <eric@bluelinelabs.com>.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.wireguard.util;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.Nonnull;
+import javax.annotation.meta.TypeQualifierDefault;
+
+/**
+ * This annotation can be applied to a package, class or method to indicate that all
+ * class fields and method parameters and return values in that element are nonnull
+ * by default unless overridden.
+ */
+@Documented
+@Nonnull
+@TypeQualifierDefault({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface NonNullForAll { }