aboutsummaryrefslogtreecommitdiffstats
path: root/annotations
diff options
context:
space:
mode:
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