[ https://issues.apache.org/jira/browse/JENA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090156#comment-15090156 ]
ASF GitHub Bot commented on JENA-1083: -------------------------------------- Github user afs commented on a diff in the pull request: https://github.com/apache/jena/pull/120#discussion_r49250282 --- Diff: jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/QuadConsumer.java --- @@ -0,0 +1,47 @@ +/* + * 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 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 QuadConsumer<W, X, Y, Z> { + + void accept(final W w, final X x, final Y y, final Z z); + + /** + * A specialization of {@link QuadConsumer} in which all arguments are of the same type. + * --- End diff -- The Tuple package is about tuples of the same type. Putting in QuadConsumer etc seems out of keeping with that. `Consumer4` at the top level is more in keeping with the package which is about all the same `<X>`. In Jena `Quad` has overtones of a key concept which is different. > MInor refactoring in TupleTables > -------------------------------- > > Key: JENA-1083 > URL: https://issues.apache.org/jira/browse/JENA-1083 > Project: Apache Jena > Issue Type: Improvement > Components: ARQ > Reporter: A. Soroka > Priority: Minor > > There are some minor refactorings available for TupleTable and its subtypes, > particularly PMapTripleTable and PMapQuadTable that will clarify their use. > Specifically, current impls of those abstract types have to override several > methods for adding, removing, and finding tuples. In fact, the only > information being added when those methods are overridden is conversion > between canonical and internal tuple ordering. This refactoring is to provide > methods that do that conversion and nothing else, which will make two methods > the most that any implementation of those abstract classes will have to > provide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)