summaryrefslogtreecommitdiffstats
path: root/annotations
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-12-15 13:59:08 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-12-15 15:33:09 +0100
commit3741913435c48b3302684edb2d1eaeefdee1e7c8 (patch)
tree150b3df494d9852eb785c8c79d4b4bfad59bc51f /annotations
parentcf9778567ea10deab92bd1a1743b80980f68e7fd (diff)
Add custom Inject annotation so Guice is not needed just for the annotation
Diffstat (limited to 'annotations')
-rw-r--r--annotations/src/main/java/com/yahoo/component/annotation/Inject.java19
-rw-r--r--annotations/src/main/java/com/yahoo/component/annotation/package-info.java6
2 files changed, 25 insertions, 0 deletions
diff --git a/annotations/src/main/java/com/yahoo/component/annotation/Inject.java b/annotations/src/main/java/com/yahoo/component/annotation/Inject.java
new file mode 100644
index 00000000000..dd11635ba3f
--- /dev/null
+++ b/annotations/src/main/java/com/yahoo/component/annotation/Inject.java
@@ -0,0 +1,19 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.component.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * Use this annotation to specify which constructor should be used when constructing a component.
+ *
+ * @author bjorncs
+ */
+@Target(CONSTRUCTOR)
+@Retention(RUNTIME)
+@Documented
+public @interface Inject {}
diff --git a/annotations/src/main/java/com/yahoo/component/annotation/package-info.java b/annotations/src/main/java/com/yahoo/component/annotation/package-info.java
new file mode 100644
index 00000000000..89e53b1f5ee
--- /dev/null
+++ b/annotations/src/main/java/com/yahoo/component/annotation/package-info.java
@@ -0,0 +1,6 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@com.yahoo.api.annotations.PublicApi
+package com.yahoo.component.annotation; \ No newline at end of file