summaryrefslogtreecommitdiff
path: root/test/scaladoc/resources/SI-4826.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/scaladoc/resources/SI-4826.java')
-rw-r--r--test/scaladoc/resources/SI-4826.java214
1 files changed, 214 insertions, 0 deletions
diff --git a/test/scaladoc/resources/SI-4826.java b/test/scaladoc/resources/SI-4826.java
index 34e55ab26e..24454e88b2 100644
--- a/test/scaladoc/resources/SI-4826.java
+++ b/test/scaladoc/resources/SI-4826.java
@@ -82,3 +82,217 @@ public class JavaComments {
}
}
+
+// The following snippet is taken from Akka, it mainly tests interfaces
+
+/**
+ * Class that encapsulates all the Functional Interfaces
+ * used for creating partial functions.
+ *
+ * This is an EXPERIMENTAL feature and is subject to change until it has received more real world testing.
+ */
+public final class FI {
+ private FI() {
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I> the input type, that this Apply will be applied to
+ * @param <R> the return type, that the results of the application will have
+ */
+ public static interface Apply<I, R> {
+ /**
+ * The application to perform.
+ *
+ * @param i an instance that the application is performed on
+ * @return the result of the application
+ */
+ public R apply(I i) throws Exception;
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I1> the first input type, that this Apply will be applied to
+ * @param <I2> the second input type, that this Apply will be applied to
+ * @param <R> the return type, that the results of the application will have
+ */
+ public static interface Apply2<I1, I2, R> {
+ /**
+ * The application to perform.
+ *
+ * @param i1 an instance that the application is performed on
+ * @param i2 an instance that the application is performed on
+ * @return the result of the application
+ */
+ public R apply(I1 i1, I2 i2) throws Exception;
+ }
+
+ /**
+ * Functional interface for a predicate.
+ *
+ * @param <T> the type that the predicate will operate on.
+ */
+ public static interface TypedPredicate<T> {
+ /**
+ * The predicate to evaluate.
+ *
+ * @param t an instance that the predicate is evaluated on.
+ * @return the result of the predicate
+ */
+ public boolean defined(T t);
+ }
+
+ /**
+ * Functional interface for a predicate.
+ *
+ * @param <T> the type that the predicate will operate on.
+ * @param <U> the type that the predicate will operate on.
+ */
+ public static interface TypedPredicate2<T, U> {
+ /**
+ * The predicate to evaluate.
+ *
+ * @param t an instance that the predicate is evaluated on.
+ * @param u an instance that the predicate is evaluated on.
+ * @return the result of the predicate
+ */
+ public boolean defined(T t, U u);
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I> the input type, that this Apply will be applied to
+ */
+ public static interface UnitApply<I> {
+ /**
+ * The application to perform.
+ *
+ * @param i an instance that the application is performed on
+ */
+ public void apply(I i) throws Exception;
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I1> the first input type, that this Apply will be applied to
+ * @param <I2> the second input type, that this Apply will be applied to
+ */
+ public static interface UnitApply2<I1, I2> {
+ /**
+ * The application to perform.
+ *
+ * @param i1 an instance that the application is performed on
+ * @param i2 an instance that the application is performed on
+ */
+ public void apply(I1 i1, I2 i2) throws Exception;
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I1> the first input type, that this Apply will be applied to
+ * @param <I2> the second input type, that this Apply will be applied to
+ * @param <I3> the third input type, that this Apply will be applied to
+ */
+ public static interface UnitApply3<I1, I2, I3> {
+ /**
+ * The application to perform.
+ *
+ * @param i1 an instance that the application is performed on
+ * @param i2 an instance that the application is performed on
+ * @param i3 an instance that the application is performed on
+ */
+ public void apply(I1 i1, I2 i2, I3 i3) throws Exception;
+ }
+
+ /**
+ * Functional interface for an application.
+ *
+ * @param <I1> the first input type, that this Apply will be applied to
+ * @param <I2> the second input type, that this Apply will be applied to
+ * @param <I3> the third input type, that this Apply will be applied to
+ * @param <I4> the fourth input type, that this Apply will be applied to
+ */
+ public static interface UnitApply4<I1, I2, I3, I4> {
+ /**
+ * The application to perform.
+ *
+ * @param i1 an instance that the application is performed on
+ * @param i2 an instance that the application is performed on
+ * @param i3 an instance that the application is performed on
+ * @param i4 an instance that the application is performed on
+ */
+ public void apply(I1 i1, I2 i2, I3 i3, I4 i4) throws Exception;
+ }
+
+ /**
+ * Functional interface for an application.
+ */
+ public static interface UnitApplyVoid {
+ /**
+ * The application to perform.
+ */
+ public void apply() throws Exception;
+ }
+
+ /**
+ * Package scoped functional interface for a predicate. Used internally to match against arbitrary types.
+ */
+ static interface Predicate {
+ /**
+ * The predicate to evaluate.
+ *
+ * @param o an instance that the predicate is evaluated on.
+ * @return the result of the predicate
+ */
+ public boolean defined(Object o);
+ }
+
+}
+
+/**
+ * Functional interface for an application.
+ *
+ * @param <I1> the first input type, that this Apply will be applied to
+ * @param <I2> the second input type, that this Apply will be applied to
+ * @param <I3> the third input type, that this Apply will be applied to
+ * @param <I4> the fourth input type, that this Apply will be applied to
+ */
+public interface UnitApply4<I1, I2, I3, I4> {
+ /**
+ * The application to perform.
+ *
+ * @param i1 an instance that the application is performed on
+ * @param i2 an instance that the application is performed on
+ * @param i3 an instance that the application is performed on
+ * @param i4 an instance that the application is performed on
+ */
+ public void apply(I1 i1, I2 i2, I3 i3, I4 i4) throws Exception;
+}
+
+/**
+ * Functional interface for an application.
+ */
+public interface UnitApplyVoid {
+ /**
+ * The application to perform.
+ */
+ public void apply() throws Exception;
+}
+
+/**
+ * Package scoped functional interface for a predicate. Used internally to match against arbitrary types.
+ */
+interface Predicate {
+ /**
+ * The predicate to evaluate.
+ *
+ * @param o an instance that the predicate is evaluated on.
+ * @return the result of the predicate
+ */
+ public boolean defined(Object o);
+}