]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/java/vector/src/main/java/org/apache/arrow/vector/compare/VectorVisitor.java
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / java / vector / src / main / java / org / apache / arrow / vector / compare / VectorVisitor.java
CommitLineData
1d09f67e
TL
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package org.apache.arrow.vector.compare;
19
20import org.apache.arrow.vector.BaseFixedWidthVector;
21import org.apache.arrow.vector.BaseLargeVariableWidthVector;
22import org.apache.arrow.vector.BaseVariableWidthVector;
23import org.apache.arrow.vector.ExtensionTypeVector;
24import org.apache.arrow.vector.NullVector;
25import org.apache.arrow.vector.complex.DenseUnionVector;
26import org.apache.arrow.vector.complex.FixedSizeListVector;
27import org.apache.arrow.vector.complex.LargeListVector;
28import org.apache.arrow.vector.complex.ListVector;
29import org.apache.arrow.vector.complex.NonNullableStructVector;
30import org.apache.arrow.vector.complex.UnionVector;
31
32/**
33 * Generic visitor to visit a {@link org.apache.arrow.vector.ValueVector}.
34 * @param <OUT> the output result type.
35 * @param <IN> the input data together with visitor.
36 */
37public interface VectorVisitor<OUT, IN> {
38
39 OUT visit(BaseFixedWidthVector left, IN value);
40
41 OUT visit(BaseVariableWidthVector left, IN value);
42
43 OUT visit(BaseLargeVariableWidthVector left, IN value);
44
45 OUT visit(ListVector left, IN value);
46
47 OUT visit(FixedSizeListVector left, IN value);
48
49 OUT visit(LargeListVector left, IN value);
50
51 OUT visit(NonNullableStructVector left, IN value);
52
53 OUT visit(UnionVector left, IN value);
54
55 OUT visit(DenseUnionVector left, IN value);
56
57 OUT visit(NullVector left, IN value);
58
59 OUT visit(ExtensionTypeVector<?> left, IN value);
60}
61