summaryrefslogtreecommitdiffstats
path: root/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBindingVisitor.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/LazyBindingVisitor.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/LazyBindingVisitor.java')
-rw-r--r--sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBindingVisitor.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBindingVisitor.java b/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBindingVisitor.java
new file mode 100644
index 0000000..ef95a0c
--- /dev/null
+++ b/sangria-lazy/src/main/java/com/tavianator/sangria/lazy/LazyBindingVisitor.java
@@ -0,0 +1,37 @@
+/****************************************************************************
+ * 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.spi.BindingTargetVisitor;
+
+/**
+ * Visitor interface for the lazy binding SPI.
+ *
+ * @author Tavian Barnes (tavianator@tavianator.com)
+ * @version 1.2
+ * @since 1.2
+ */
+public interface LazyBindingVisitor<T, V> extends BindingTargetVisitor<T, V> {
+ /**
+ * Visit a {@link LazyBinding}.
+ *
+ * @param binding The binding to visit.
+ * @return A value of type {@code V}.
+ */
+ V visit(LazyBinding<? extends T> binding);
+}