summaryrefslogtreecommitdiffstats
path: root/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-09-14 23:56:51 -0400
committerTavian Barnes <tavianator@tavianator.com>2014-09-14 23:58:09 -0400
commitaf52e472b4f0b00b0d00c04b3fa54a79f94b9a49 (patch)
tree353fbadd308909d15dae5461d726e8704937d274 /sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java
parentbc1de44c602192e59ff66d1a5d1f1e9cdcc4a2bb (diff)
downloadsangria-af52e472b4f0b00b0d00c04b3fa54a79f94b9a49.tar.xz
lazy: Implement Lazy<T>, very much like Dagger's.
Diffstat (limited to 'sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java')
-rw-r--r--sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java b/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java
new file mode 100644
index 0000000..518ae57
--- /dev/null
+++ b/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBinding.java
@@ -0,0 +1,34 @@
+/****************************************************************************
+ * Sangria *
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.com> *
+ * *
+ * Licensed under the Apache License, Version 2.0 (the "License"); *
+ * you may not use this file except in compliance with the License. *
+ * You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, software *
+ * distributed under the License is distributed on an "AS IS" BASIS, *
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
+ * See the License for the specific language governing permissions and *
+ * limitations under the License. *
+ ****************************************************************************/
+
+package com.tavianator.sangria.lazy;
+
+import com.google.inject.Key;
+
+/**
+ * SPI for {@link LazyBinder} bindings.
+ *
+ * @author Tavian Barnes (tavianator@tavianator.com)
+ * @version 1.2
+ * @since 1.2
+ */
+public interface LazyBinding<T> {
+ /**
+ * @return The key wrapped by the {@link Lazy Lazy&lt;T&gt;} binding.
+ */
+ Key<T> getTargetKey();
+}