Using number-suffixed names for functional types
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5c899041 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5c899041 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5c899041 Branch: refs/heads/master Commit: 5c8990411ca27be71f68bfdff8aea554ad3f6c3d Parents: e633f33 Author: ajs6f <[email protected]> Authored: Tue Jan 19 10:25:50 2016 -0500 Committer: ajs6f <[email protected]> Committed: Tue Jan 19 10:25:50 2016 -0500 ---------------------------------------------------------------------- .../jena/sparql/core/mem/OrderedTupleTable.java | 22 ++++----- .../jena/sparql/core/mem/PMapQuadTable.java | 12 ++--- .../jena/sparql/core/mem/PMapTripleTable.java | 12 ++--- .../jena/atlas/function/TetraConsumer.java | 39 ---------------- .../jena/atlas/function/TetraFunction.java | 41 ----------------- .../jena/atlas/function/package-info.java | 22 --------- .../apache/jena/atlas/lib/tuple/Consumer4.java | 11 ----- .../apache/jena/atlas/lib/tuple/TConsumer3.java | 14 ++++++ .../apache/jena/atlas/lib/tuple/TConsumer4.java | 14 ++++++ .../apache/jena/atlas/lib/tuple/TFunction3.java | 14 ++++++ .../apache/jena/atlas/lib/tuple/TFunction4.java | 14 ++++++ .../jena/atlas/lib/tuple/TetraOperator.java | 12 ----- .../jena/atlas/lib/tuple/TriConsumer.java | 47 ------------------- .../jena/atlas/lib/tuple/TriFunction.java | 48 -------------------- 14 files changed, 79 insertions(+), 243 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java index 5490b15..7e950de 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java @@ -20,11 +20,11 @@ package org.apache.jena.sparql.core.mem; import java.util.function.Consumer; -import org.apache.jena.atlas.lib.tuple.Consumer4; -import org.apache.jena.atlas.lib.tuple.TetraOperator; +import org.apache.jena.atlas.lib.tuple.TConsumer3; +import org.apache.jena.atlas.lib.tuple.TConsumer4; +import org.apache.jena.atlas.lib.tuple.TFunction3; +import org.apache.jena.atlas.lib.tuple.TFunction4; import org.apache.jena.atlas.lib.tuple.TupleMap; -import org.apache.jena.atlas.lib.tuple.TriConsumer.Consumer3; -import org.apache.jena.atlas.lib.tuple.TriFunction.TriOperator; import org.apache.jena.graph.Node; import org.apache.jena.graph.Triple; import org.apache.jena.sparql.core.Quad; @@ -34,7 +34,7 @@ import org.apache.jena.sparql.core.Quad; * * @param <TupleType> the tuple type in which an instance of this class works, typically {@link Triple} or {@link Quad} * @param <ConsumerType> a consumer type that can accept the elements of a {@link TupleType}, typically - * {@link Consumer3} or {@link Consumer4} + * {@link TConsumer3} or {@link TConsumer4} */ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements TupleTable<TupleType> { @@ -66,7 +66,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl */ protected abstract ConsumerType delete(); - protected Consumer<Quad> map(final Consumer4<Node> consumer) { + protected Consumer<Quad> map(final TConsumer4<Node> consumer) { return q -> { final Node g = q.getGraph(); final Node s = q.getSubject(); @@ -80,7 +80,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl }; } - protected <X> TetraOperator<Node, X> map(final TetraOperator<Node, X> f) { + protected <X> TFunction4<Node, X> map(final TFunction4<Node, X> f) { return (g, s, p, o) -> apply(order, g, s, p, o, f); } @@ -88,7 +88,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl return apply(reverse, first, second, third, fourth, Quad::new); } - protected Consumer<Triple> map(final Consumer3<Node> consumer) { + protected Consumer<Triple> map(final TConsumer3<Node> consumer) { return t -> { final Node s = t.getSubject(); final Node p = t.getPredicate(); @@ -100,7 +100,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl }; } - protected <T, X> TriOperator<T, X> map(final TriOperator<T, X> f) { + protected <T, X> TFunction3<T, X> map(final TFunction3<T, X> f) { return (s, p, o) -> OrderedTupleTable.apply(order, s, p, o, f); } @@ -128,7 +128,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl } private static <X, Z> Z apply(final TupleMap tupleMap, final X x1, final X x2, final X x3, final X x4, - final TetraOperator<X, Z> f) { + final TFunction4<X, Z> f) { final X x1a = get(tupleMap.mapIdx(0), x1, x2, x3, x4); final X x2a = get(tupleMap.mapIdx(1), x1, x2, x3, x4); final X x3a = get(tupleMap.mapIdx(2), x1, x2, x3, x4); @@ -136,7 +136,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl return f.apply(x1a, x2a, x3a, x4a); } - private static <X, Z> Z apply(final TupleMap ordering, final X x1, final X x2, final X x3, final TriOperator<X, Z> f) { + private static <X, Z> Z apply(final TupleMap ordering, final X x1, final X x2, final X x3, final TFunction3<X, Z> f) { final X x1a = get(ordering.mapIdx(0), x1, x2, x3); final X x2a = get(ordering.mapIdx(1), x1, x2, x3); final X x3a = get(ordering.mapIdx(2), x1, x2, x3); http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapQuadTable.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapQuadTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapQuadTable.java index 6c1e45c..c6ce0fd 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapQuadTable.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapQuadTable.java @@ -25,8 +25,8 @@ import java.util.stream.Stream; import org.apache.jena.atlas.lib.persistent.PMap; import org.apache.jena.atlas.lib.persistent.PersistentSet; -import org.apache.jena.atlas.lib.tuple.Consumer4; -import org.apache.jena.atlas.lib.tuple.TetraOperator; +import org.apache.jena.atlas.lib.tuple.TConsumer4; +import org.apache.jena.atlas.lib.tuple.TFunction4; import org.apache.jena.atlas.lib.tuple.TupleMap; import org.apache.jena.graph.Node; import org.apache.jena.sparql.core.Quad; @@ -39,7 +39,7 @@ import org.slf4j.Logger; * use. * */ -public class PMapQuadTable extends PMapTupleTable<FourTupleMap, Quad, Consumer4<Node>>implements QuadTable { +public class PMapQuadTable extends PMapTupleTable<FourTupleMap, Quad, TConsumer4<Node>>implements QuadTable { /** * @param order an internal order for this table @@ -103,7 +103,7 @@ public class PMapQuadTable extends PMapTupleTable<FourTupleMap, Quad, Consumer4< * @return a <code>Stream</code> of tuples matching the pattern */ @SuppressWarnings("unchecked") // Because of (Stream<Quad>) -- but why is that needed? - private TetraOperator<Node, Stream<Quad>> find = (first, second, third, fourth) -> { + private TFunction4<Node, Stream<Quad>> find = (first, second, third, fourth) -> { debug("Querying on four-tuple pattern: {} {} {} {} .", first, second, third, fourth); final FourTupleMap fourTuples = local().get(); if (isConcrete(first)) { @@ -141,7 +141,7 @@ public class PMapQuadTable extends PMapTupleTable<FourTupleMap, Quad, Consumer4< }; @Override - protected Consumer4<Node> add() { + protected TConsumer4<Node> add() { return (first, second, third, fourth) -> { debug("Adding four-tuple: {} {} {} {} .", first, second, third, fourth); final FourTupleMap fourTuples = local().get(); @@ -157,7 +157,7 @@ public class PMapQuadTable extends PMapTupleTable<FourTupleMap, Quad, Consumer4< }; } - protected Consumer4<Node> delete() { + protected TConsumer4<Node> delete() { return (first, second, third, fourth) -> { debug("Removing four-tuple: {} {} {} {} .", first, second, third, fourth); final FourTupleMap fourTuples = local().get(); http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapTripleTable.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapTripleTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapTripleTable.java index 8737378..e6129fc 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapTripleTable.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/PMapTripleTable.java @@ -25,8 +25,8 @@ import java.util.stream.Stream; import org.apache.jena.atlas.lib.persistent.PMap; import org.apache.jena.atlas.lib.persistent.PersistentSet; -import org.apache.jena.atlas.lib.tuple.TriConsumer.Consumer3; -import org.apache.jena.atlas.lib.tuple.TriFunction.TriOperator; +import org.apache.jena.atlas.lib.tuple.TConsumer3; +import org.apache.jena.atlas.lib.tuple.TFunction3; import org.apache.jena.atlas.lib.tuple.TupleMap; import org.apache.jena.graph.Node; import org.apache.jena.graph.Triple; @@ -38,7 +38,7 @@ import org.slf4j.Logger; * A {@link TripleTable} employing persistent maps to index triples in one particular slot order (e.g. SPO, OSP or POS). * */ -public class PMapTripleTable extends PMapTupleTable<ThreeTupleMap, Triple, Consumer3<Node>>implements TripleTable { +public class PMapTripleTable extends PMapTupleTable<ThreeTupleMap, Triple, TConsumer3<Node>>implements TripleTable { /** * @param order an internal order for this table @@ -101,7 +101,7 @@ public class PMapTripleTable extends PMapTupleTable<ThreeTupleMap, Triple, Consu * @return a <code>Stream</code> of tuples matching the pattern */ @SuppressWarnings("unchecked") // Because of (Stream<Triple>) -- but why is that needed? - private TriOperator<Node, Stream<Triple>> find = (first, second, third) -> { + private TFunction3<Node, Stream<Triple>> find = (first, second, third) -> { debug("Querying on three-tuple pattern: {} {} {} .", first, second, third); final ThreeTupleMap threeTuples = local().get(); if (isConcrete(first)) { @@ -129,7 +129,7 @@ public class PMapTripleTable extends PMapTupleTable<ThreeTupleMap, Triple, Consu }; @Override - protected Consumer3<Node> add() { + protected TConsumer3<Node> add() { return (first, second, third) -> { debug("Adding three-tuple {} {} {}", first, second, third); final ThreeTupleMap threeTuples = local().get(); @@ -143,7 +143,7 @@ public class PMapTripleTable extends PMapTupleTable<ThreeTupleMap, Triple, Consu } @Override - protected Consumer3<Node> delete() { + protected TConsumer3<Node> delete() { return (first, second, third) -> { debug("Deleting three-tuple {} {} {}", first, second, third); final ThreeTupleMap threeTuples = local().get(); http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/function/TetraConsumer.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/function/TetraConsumer.java b/jena-base/src/main/java/org/apache/jena/atlas/function/TetraConsumer.java deleted file mode 100644 index ce6355f..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/function/TetraConsumer.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.jena.atlas.function; - -import java.util.function.Consumer; - -/** - * Represents an operation that accepts four input arguments and returns no result. This is a four-arity specialization - * of {@link Consumer}. Unlike most other functional interfaces, {@code QuadConsumer} is expected to operate via - * side-effects. - * <p> - * This is a functional interface whose functional method is {@link #accept}. - * - * @param <W> the type of the first argument to the operation - * @param <X> the type of the second argument to the operation - * @param <Y> the type of the third argument to the operation - * @param <Z> the type of the fourth argument to the operation - * @see Consumer - */ -@FunctionalInterface -public interface TetraConsumer<W, X, Y, Z> { - - void accept(final W w, final X x, final Y y, final Z z); -} http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/function/TetraFunction.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/function/TetraFunction.java b/jena-base/src/main/java/org/apache/jena/atlas/function/TetraFunction.java deleted file mode 100644 index 6d2ac1b..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/function/TetraFunction.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.jena.atlas.function; - -import java.util.function.Function; - -/** - * Represents a function that accepts four arguments and produces a result. This is a four-arity specialization of - * {@link Function}. - * <p> - * This is a functional interface whose functional method is {@link #apply}. - * - * @param <W> the type of the first argument to the function - * @param <X> the type of the second argument to the function - * @param <Y> the type of the third argument to the function - * @param <Z> the type of the fourth argument to the function - * @param <R> the type of the result of the function - * @see Function - */ -@FunctionalInterface -public interface TetraFunction<W, X, Y, Z, R> { - - R apply(final W w, final X x, final Y y, final Z z); - -} http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/function/package-info.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/function/package-info.java b/jena-base/src/main/java/org/apache/jena/atlas/function/package-info.java deleted file mode 100644 index e601fa4..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/function/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -/** - * Types for functional style. - */ -package org.apache.jena.atlas.function; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Consumer4.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Consumer4.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Consumer4.java deleted file mode 100644 index 361dcf4..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Consumer4.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.apache.jena.atlas.lib.tuple; - -import org.apache.jena.atlas.function.TetraConsumer; - -/** - * A specialization of {@link TetraConsumer} in which all arguments are of the same type. - * - * @param <X> the type of all arguments - */ -@FunctionalInterface -public interface Consumer4<X> extends TetraConsumer<X, X, X, X> {} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer3.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer3.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer3.java new file mode 100644 index 0000000..53ee003 --- /dev/null +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer3.java @@ -0,0 +1,14 @@ +package org.apache.jena.atlas.lib.tuple; + +/** + * A three-argument consumer in which all arguments are of the same type. Unlike most other functional interfaces, + * {@code TConsumer3} is expected to operate via side-effects. + * + * @param <X> the type of all arguments + */ +@FunctionalInterface +public interface TConsumer3<X> { + + void accept(X x1, X x2, X x3); + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer4.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer4.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer4.java new file mode 100644 index 0000000..6409dfc --- /dev/null +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TConsumer4.java @@ -0,0 +1,14 @@ +package org.apache.jena.atlas.lib.tuple; + +/** + * A four-argument consumer in which all arguments are of the same type. Unlike most other functional interfaces, + * {@code TConsumer4} is expected to operate via side-effects. + * + * @param <X> the type of all arguments + */ +@FunctionalInterface +public interface TConsumer4<X> { + + void accept(X x1, X x2, X x3, X x4); + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction3.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction3.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction3.java new file mode 100644 index 0000000..bc3dce9 --- /dev/null +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction3.java @@ -0,0 +1,14 @@ +package org.apache.jena.atlas.lib.tuple; + +/** + * A three-argument function in which all arguments are of the same type. + * + * @param <X> the type of all arguments + * @param <Z> the type of the result of the operation + */ +@FunctionalInterface +public interface TFunction3<X, Z> { + + Z apply(X x1, X x2, X x3); + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction4.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction4.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction4.java new file mode 100644 index 0000000..82b0bcd --- /dev/null +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TFunction4.java @@ -0,0 +1,14 @@ +package org.apache.jena.atlas.lib.tuple; + +/** + * A four-argument function in which all arguments are of the same type. + * + * @param <X> the type of all arguments + * @param <Z> the type of the result of the operation + */ +@FunctionalInterface +public interface TFunction4<X, Z> { + + Z apply(X x1, X x2, X x3, X x4); + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TetraOperator.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TetraOperator.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TetraOperator.java deleted file mode 100644 index 03cc7ac..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TetraOperator.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.apache.jena.atlas.lib.tuple; - -import org.apache.jena.atlas.function.TetraFunction; - -/** - * A specialization of {@link TetraFunction} in which all arguments are of the same type. - * - * @param <X> the type of all arguments - * @param <Z> the type of the result of the operation - */ -@FunctionalInterface -public interface TetraOperator<X, Z> extends TetraFunction<X, X, X, X, Z> {} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriConsumer.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriConsumer.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriConsumer.java deleted file mode 100644 index b5585c0..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriConsumer.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.jena.atlas.lib.tuple; - -import java.util.function.Consumer; - -/** - * Represents an operation that accepts three input arguments and returns no result. This is a three-arity - * specialization of {@link Consumer}. Unlike most other functional interfaces, {@code TriConsumer} is expected to - * operate via side-effects. - * <p> - * This is a functional interface whose functional method is {@link #accept}. - * - * @param <X> the type of the first argument to the operation - * @param <Y> the type of the second argument to the operation - * @param <Z> the type of the third argument to the operation - * @see Consumer - */ -@FunctionalInterface -public interface TriConsumer<X, Y, Z> { - - void accept(final X x, final Y y, final Z z); - - /** - * A specialization of {@link TriConsumer} in which all arguments are of the same type. - * - * @param <X> the type of all arguments - */ - @FunctionalInterface - static interface Consumer3<X> extends TriConsumer<X, X, X> {} -} http://git-wip-us.apache.org/repos/asf/jena/blob/5c899041/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriFunction.java ---------------------------------------------------------------------- diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriFunction.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriFunction.java deleted file mode 100644 index f70212b..0000000 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TriFunction.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.jena.atlas.lib.tuple; - -import java.util.function.Function; - -/** - * Represents a function that accepts three arguments and produces a result. This is a three-arity specialization of - * {@link Function}. - * <p> - * This is a functional interface whose functional method is {@link #apply}. - * - * @param <X> the type of the first argument to the function - * @param <Y> the type of the second argument to the function - * @param <Z> the type of the second argument to the function - * @param <W> the type of the result of the function - * @see Function - */ -@FunctionalInterface -public interface TriFunction<X, Y, Z, W> { - W apply(final X x, final Y y, final Z z); - - /** - * A specialization of {@link TriFunction} in which all arguments are of the same type. - * - * @param <X> the type of all arguments - * @param <Z> the type of the result of the operation - */ - @FunctionalInterface - static interface TriOperator<X, Z> extends TriFunction<X, X, X, Z> {} - -} \ No newline at end of file
