+
+
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/Action.java b/java/flight/src/main/java/org/apache/arrow/flight/Action.java
index f8922cf41165..fe7a9ce91774 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/Action.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/Action.java
@@ -21,6 +21,11 @@
import com.google.protobuf.ByteString;
+/**
+ * An opaque action for the service to perform.
+ *
+ * This is a POJO wrapper around the message of the same name in Flight.proto.
+ */
public class Action {
private final String type;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/ArrowMessage.java b/java/flight/src/main/java/org/apache/arrow/flight/ArrowMessage.java
index 187437a90a54..31fdd134f6db 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/ArrowMessage.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/ArrowMessage.java
@@ -77,6 +77,7 @@ class ArrowMessage implements AutoCloseable {
private static Marshaller NO_BODY_MARSHALLER = ProtoUtils.marshaller(FlightData.getDefaultInstance());
+ /** Types of messages that can be sent. */
public static enum HeaderType {
NONE,
SCHEMA,
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/CallOptions.java b/java/flight/src/main/java/org/apache/arrow/flight/CallOptions.java
index 946434bf4c5b..aaf5691fae35 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/CallOptions.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/CallOptions.java
@@ -53,6 +53,9 @@ public > T wrapStub(T stub) {
}
}
+ /**
+ * CallOptions specific to GRPC stubs.
+ */
interface GrpcCallOption extends CallOption {
> T wrapStub(T stub);
}
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/Criteria.java b/java/flight/src/main/java/org/apache/arrow/flight/Criteria.java
index bd59a1c153aa..91eecdb26d1e 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/Criteria.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/Criteria.java
@@ -21,6 +21,11 @@
import com.google.protobuf.ByteString;
+/**
+ * An opaque object that can be used to filter a list of streams available from a server.
+ *
+ * This is a POJO wrapper around the protobuf Criteria message.
+ */
public class Criteria {
public static Criteria ALL = new Criteria((byte[]) null);
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightClient.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightClient.java
index e74c0eefb69c..aa3d029633d4 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightClient.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightClient.java
@@ -306,6 +306,9 @@ public PutResult getResult() {
}
}
+ /**
+ * Interface for subscribers to a stream returned by the server.
+ */
public interface ClientStreamListener {
public void putNext();
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightConstants.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightConstants.java
index d694fcdc017f..2ea8cc7e3443 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightConstants.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightConstants.java
@@ -17,8 +17,11 @@
package org.apache.arrow.flight;
+/**
+ * String constants relevant to flight implementations.
+ */
public interface FlightConstants {
- public static final String SERVICE = "arrow.flight.protocol.FlightService";
+ String SERVICE = "arrow.flight.protocol.FlightService";
}
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightDescriptor.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightDescriptor.java
index 3ed6ba257fdb..ac2fff3511d8 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightDescriptor.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightDescriptor.java
@@ -27,6 +27,11 @@
import com.google.common.collect.ImmutableList;
import com.google.protobuf.ByteString;
+/**
+ * An identifier for a particular set of data. This can either be an opaque command that generates
+ * the data or a static "path" to the data. This is a POJO wrapper around the protobuf message with
+ * the same name.
+ */
public class FlightDescriptor {
private boolean isCmd;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightProducer.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightProducer.java
index e6d805695415..9c3cc2b59c77 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightProducer.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightProducer.java
@@ -27,25 +27,28 @@
*/
public interface FlightProducer {
- public void getStream(CallContext context, Ticket ticket,
+ void getStream(CallContext context, Ticket ticket,
ServerStreamListener listener);
- public void listFlights(CallContext context, Criteria criteria,
+ void listFlights(CallContext context, Criteria criteria,
StreamListener listener);
- public FlightInfo getFlightInfo(CallContext context,
+ FlightInfo getFlightInfo(CallContext context,
FlightDescriptor descriptor);
- public Callable acceptPut(CallContext context,
+ Callable acceptPut(CallContext context,
FlightStream flightStream);
- public void doAction(CallContext context, Action action,
+ void doAction(CallContext context, Action action,
StreamListener listener);
- public void listActions(CallContext context,
+ void listActions(CallContext context,
StreamListener listener);
- public interface ServerStreamListener {
+ /**
+ * Listener for creating a stream on the server side.
+ */
+ interface ServerStreamListener {
boolean isCancelled();
@@ -61,7 +64,12 @@ public interface ServerStreamListener {
}
- public interface StreamListener {
+ /**
+ * Callbacks for pushing objects to a receiver.
+ *
+ * @param Type of the values in the stream.
+ */
+ interface StreamListener {
void onNext(T val);
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightServer.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightServer.java
index 0812a04637d4..eaea0441b2c5 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightServer.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightServer.java
@@ -39,6 +39,10 @@
import io.netty.channel.EventLoopGroup;
import io.netty.channel.ServerChannel;
+/**
+ * Generic server of flight data that is customized via construction with delegate classes for the
+ * actual logic. The server currently uses GRPC as its transport mechanism.
+ */
public class FlightServer implements AutoCloseable {
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FlightServer.class);
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/FlightService.java b/java/flight/src/main/java/org/apache/arrow/flight/FlightService.java
index 34f9d2a05a03..b5c22efb224a 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/FlightService.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/FlightService.java
@@ -43,6 +43,9 @@
import io.grpc.stub.ServerCallStreamObserver;
import io.grpc.stub.StreamObserver;
+/**
+ * GRPC service implementation for a flight server.
+ */
class FlightService extends FlightServiceImplBase {
private static final Logger logger = LoggerFactory.getLogger(FlightService.class);
@@ -188,6 +191,9 @@ public void getFlightInfo(Flight.FlightDescriptor request, StreamObserver asObserver() {
return new Observer();
}
+ /**
+ * Provides a callback to cancel a process that is in progress.
+ */
public interface Cancellable {
void cancel(String message, Throwable exception);
}
+ /**
+ * Provides a interface to request more items from a stream producer.
+ */
public interface Requestor {
/**
- * Requests count more messages from the reuqestor.
+ * Requests count more messages from the instance of this object.
*/
void request(int count);
}
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/GenericOperation.java b/java/flight/src/main/java/org/apache/arrow/flight/GenericOperation.java
index 63d558498a44..03a1e92af12c 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/GenericOperation.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/GenericOperation.java
@@ -17,6 +17,9 @@
package org.apache.arrow.flight;
+/**
+ * Unused?.
+ */
class GenericOperation {
private final String type;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/NoOpFlightProducer.java b/java/flight/src/main/java/org/apache/arrow/flight/NoOpFlightProducer.java
index be11b5446db9..0e6e373e6544 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/NoOpFlightProducer.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/NoOpFlightProducer.java
@@ -21,6 +21,9 @@
import org.apache.arrow.flight.impl.Flight.PutResult;
+/**
+ * A {@link FlightProducer} that throws on all operations.
+ */
public class NoOpFlightProducer implements FlightProducer {
@Override
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/Result.java b/java/flight/src/main/java/org/apache/arrow/flight/Result.java
index 346bfce460d8..bd3ad4e27bfa 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/Result.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/Result.java
@@ -21,6 +21,11 @@
import com.google.protobuf.ByteString;
+/**
+ * Opaque result returned after executing an action.
+ *
+ * POJO wrapper around the Flight protocol buffer message sharing the same name.
+ */
public class Result {
private final byte[] body;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/AuthConstants.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/AuthConstants.java
index 8176a90f14a4..ac55872e5b18 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/AuthConstants.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/AuthConstants.java
@@ -24,6 +24,9 @@
import io.grpc.Metadata.Key;
import io.grpc.MethodDescriptor;
+/**
+ * Constants used in authorization of flight connections.
+ */
public final class AuthConstants {
public static final String HANDSHAKE_DESCRIPTOR_NAME = MethodDescriptor
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/BasicServerAuthHandler.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/BasicServerAuthHandler.java
index dc9b1a0e716c..0a515838d722 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/BasicServerAuthHandler.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/BasicServerAuthHandler.java
@@ -40,6 +40,9 @@ public BasicServerAuthHandler(BasicAuthValidator authValidator) {
this.authValidator = authValidator;
}
+ /**
+ * Interface that this handler delegates for determining if credentials are valid.
+ */
public interface BasicAuthValidator {
public byte[] getToken(String username, String password) throws Exception;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthInterceptor.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthInterceptor.java
index 38d5fdbf3406..3d28b7ba7e7c 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthInterceptor.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthInterceptor.java
@@ -25,6 +25,9 @@
import io.grpc.Metadata;
import io.grpc.MethodDescriptor;
+/**
+ * GRPC client intercepter that handles authentication with the server.
+ */
public class ClientAuthInterceptor implements ClientInterceptor {
private volatile ClientAuthHandler authHandler = null;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthWrapper.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthWrapper.java
index 77f7f4630717..f916c9217d0d 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthWrapper.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/ClientAuthWrapper.java
@@ -30,6 +30,9 @@
import io.grpc.stub.StreamObserver;
+/**
+ * Utility class for performing authorization over using a GRPC stub.
+ */
public class ClientAuthWrapper {
/**
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthHandler.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthHandler.java
index 5f93dd662a64..a19126b6ae9d 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthHandler.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthHandler.java
@@ -20,6 +20,9 @@
import java.util.Iterator;
import java.util.Optional;
+/**
+ * Interface for Server side authentication handlers.
+ */
public interface ServerAuthHandler {
/**
@@ -37,11 +40,15 @@ public interface ServerAuthHandler {
*/
boolean authenticate(ServerAuthSender outgoing, Iterator incoming);
- public interface ServerAuthSender {
+ /**
+ * Interface for an server implementations to send back authentication messages
+ * back to the client.
+ */
+ interface ServerAuthSender {
- public void send(byte[] payload);
+ void send(byte[] payload);
- public void onError(String message, Throwable cause);
+ void onError(String message, Throwable cause);
}
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthInterceptor.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthInterceptor.java
index 7ea5c0c23f09..0d5e18fe671b 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthInterceptor.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthInterceptor.java
@@ -28,6 +28,9 @@
import io.grpc.ServerInterceptor;
import io.grpc.Status;
+/**
+ * GRPC Interceptor for performing authentication.
+ */
public class ServerAuthInterceptor implements ServerInterceptor {
private final ServerAuthHandler authHandler;
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthWrapper.java b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthWrapper.java
index d07ac945d383..f0c5dae757a8 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthWrapper.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/auth/ServerAuthWrapper.java
@@ -31,6 +31,9 @@
import io.grpc.Status;
import io.grpc.stub.StreamObserver;
+/**
+ * Contains utility methods for integrating authorization into a GRPC stream.
+ */
public class ServerAuthWrapper {
/**
diff --git a/java/flight/src/main/java/org/apache/arrow/flight/example/integration/IntegrationTestServer.java b/java/flight/src/main/java/org/apache/arrow/flight/example/integration/IntegrationTestServer.java
index cfeaadb3da0b..5db2957784da 100644
--- a/java/flight/src/main/java/org/apache/arrow/flight/example/integration/IntegrationTestServer.java
+++ b/java/flight/src/main/java/org/apache/arrow/flight/example/integration/IntegrationTestServer.java
@@ -28,6 +28,9 @@
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
+/**
+ * Flight server for integration testing.
+ */
class IntegrationTestServer {
private static final org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(IntegrationTestServer.class);
private final Options options;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/DecimalTypeUtil.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/DecimalTypeUtil.java
index 0a052795f9db..f6b76f981887 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/DecimalTypeUtil.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/DecimalTypeUtil.java
@@ -19,8 +19,15 @@
import org.apache.arrow.vector.types.pojo.ArrowType.Decimal;
+/**
+ * Utility methods for working with {@link Decimal} values.
+ */
public class DecimalTypeUtil {
+ private DecimalTypeUtil() {}
+ /**
+ * Enum for supported mathematical operations.
+ */
public enum OperationType {
ADD,
SUBTRACT,
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt16.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt16.java
index c079c738b9a0..d03280fd5eb9 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt16.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt16.java
@@ -21,7 +21,7 @@
import io.netty.buffer.ArrowBuf;
-/*
+/**
* Selection vector with records of arrow type INT16.
*/
public class SelectionVectorInt16 extends SelectionVector {
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt32.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt32.java
index a86834a7836d..36c26dc103f4 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt32.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/SelectionVectorInt32.java
@@ -21,7 +21,7 @@
import io.netty.buffer.ArrowBuf;
-/*
+/**
* Selection vector with records of arrow type INT32.
*/
public class SelectionVectorInt32 extends SelectionVector {
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/EvaluatorClosedException.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/EvaluatorClosedException.java
index 4654999e3338..d3fb8b60df0b 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/EvaluatorClosedException.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/EvaluatorClosedException.java
@@ -17,6 +17,7 @@
package org.apache.arrow.gandiva.exceptions;
+/** Indicates an attempted call to methods on a closed evaluator. */
public class EvaluatorClosedException extends GandivaException {
public EvaluatorClosedException() {
super("Cannot invoke methods on evaluator after closing it");
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java
index 5389a0b952ed..e7fce58a38da 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java
@@ -17,6 +17,7 @@
package org.apache.arrow.gandiva.exceptions;
+/** Base class for all specialized exceptions this package uses. */
public class GandivaException extends Exception {
public GandivaException(String msg) {
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/AndNode.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/AndNode.java
index efa5bf238836..ecc577fa78d4 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/AndNode.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/AndNode.java
@@ -22,6 +22,9 @@
import org.apache.arrow.gandiva.exceptions.GandivaException;
import org.apache.arrow.gandiva.ipc.GandivaTypes;
+/**
+ * Node representing a logical And expression.
+ */
class AndNode implements TreeNode {
private final List children;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/ArrowTypeHelper.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/ArrowTypeHelper.java
index 06cbd4621c63..47d4eb74c868 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/ArrowTypeHelper.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/ArrowTypeHelper.java
@@ -27,7 +27,12 @@
import org.apache.arrow.vector.types.pojo.Field;
import org.apache.arrow.vector.types.pojo.Schema;
+/**
+ * Utility methods to convert between Arrow and Gandiva types.
+ */
public class ArrowTypeHelper {
+ private ArrowTypeHelper() {}
+
static final int WIDTH_8 = 8;
static final int WIDTH_16 = 16;
static final int WIDTH_32 = 32;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/FunctionNode.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/FunctionNode.java
index bffa3f673694..ead1e146d5d8 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/FunctionNode.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/FunctionNode.java
@@ -23,6 +23,9 @@
import org.apache.arrow.gandiva.ipc.GandivaTypes;
import org.apache.arrow.vector.types.pojo.ArrowType;
+/**
+ * Node representing an arbitrary function in an expression.
+ */
class FunctionNode implements TreeNode {
private final String function;
private final List children;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/IfNode.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/IfNode.java
index 544123e53410..19f9095fb762 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/IfNode.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/IfNode.java
@@ -21,6 +21,9 @@
import org.apache.arrow.gandiva.ipc.GandivaTypes;
import org.apache.arrow.vector.types.pojo.ArrowType;
+/**
+ * Node representing a if-then-else block expression.
+ */
class IfNode implements TreeNode {
private final TreeNode condition;
private final TreeNode thenNode;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/NullNode.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/NullNode.java
index cc37cbbeed35..a8e7d6f82e52 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/NullNode.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/NullNode.java
@@ -21,6 +21,7 @@
import org.apache.arrow.gandiva.ipc.GandivaTypes;
import org.apache.arrow.vector.types.pojo.ArrowType;
+/** An expression indicating a null value. */
class NullNode implements TreeNode {
private final ArrowType type;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/OrNode.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/OrNode.java
index 6649b90cb4ff..2dbdfed7c7a6 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/OrNode.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/OrNode.java
@@ -22,6 +22,9 @@
import org.apache.arrow.gandiva.exceptions.GandivaException;
import org.apache.arrow.gandiva.ipc.GandivaTypes;
+/**
+ * Represents a logical OR Node.
+ */
class OrNode implements TreeNode {
private final List children;
diff --git a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/TreeBuilder.java b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/TreeBuilder.java
index a220c547e44a..5d8f21fffbc5 100644
--- a/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/TreeBuilder.java
+++ b/java/gandiva/src/main/java/org/apache/arrow/gandiva/expression/TreeBuilder.java
@@ -23,7 +23,12 @@
import org.apache.arrow.vector.types.pojo.ArrowType;
import org.apache.arrow.vector.types.pojo.Field;
+/**
+ * Contains helper functions for constructing expression trees.
+ */
public class TreeBuilder {
+ private TreeBuilder() {}
+
/**
* Helper functions to create literal constants.
*/
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
index b11678e8bb9a..6bbe37f01d79 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
@@ -20,7 +20,6 @@
import java.util.Arrays;
import java.util.IdentityHashMap;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
import org.apache.arrow.memory.util.AssertionUtil;
import org.apache.arrow.memory.util.HistoricalLog;
@@ -681,6 +680,9 @@ private void dumpBuffers(final StringBuilder sb, final Set ledgerS
}
}
+ /**
+ * Enum for logging verbosity.
+ */
public static enum Verbosity {
BASIC(false, false), // only include basic information
LOG(true, false), // include basic
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferNOOP.java b/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferNOOP.java
index 7c0997d53960..964a2c428f38 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferNOOP.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferNOOP.java
@@ -19,6 +19,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * An {@link OwnershipTransferResult} indicating no transfer needed.
+ */
public class OwnershipTransferNOOP implements OwnershipTransferResult {
private final ArrowBuf buffer;
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferResult.java b/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferResult.java
index 19255bdb5045..c94393a9a710 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferResult.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/OwnershipTransferResult.java
@@ -19,6 +19,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * The result of transferring an {@link ArrowBuf} between {@linkplain BufferAllocator}s.
+ */
public interface OwnershipTransferResult {
boolean getAllocationFit();
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/ValueWithKeyIncluded.java b/java/memory/src/main/java/org/apache/arrow/memory/ValueWithKeyIncluded.java
index 20ab77031b8b..cb23c2eaa276 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/ValueWithKeyIncluded.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/ValueWithKeyIncluded.java
@@ -20,6 +20,8 @@
/**
* Helper Iface to generify a value to be included in the map where
* key is part of the value.
+ *
+ * @param The type of the key.
*/
public interface ValueWithKeyIncluded {
K getKey();
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/util/AssertionUtil.java b/java/memory/src/main/java/org/apache/arrow/memory/util/AssertionUtil.java
index 7135f860f821..5e5b331faeb7 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/util/AssertionUtil.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/util/AssertionUtil.java
@@ -17,6 +17,9 @@
package org.apache.arrow.memory.util;
+/**
+ * Utility class to that provides {@link #ASSERT_ENABLED} constant to determine if assertions are enabled.
+ */
public class AssertionUtil {
public static final boolean ASSERT_ENABLED;
diff --git a/java/memory/src/main/java/org/apache/arrow/util/VisibleForTesting.java b/java/memory/src/main/java/org/apache/arrow/util/VisibleForTesting.java
index ab46800994d1..59414caa7760 100644
--- a/java/memory/src/main/java/org/apache/arrow/util/VisibleForTesting.java
+++ b/java/memory/src/main/java/org/apache/arrow/util/VisibleForTesting.java
@@ -17,5 +17,10 @@
package org.apache.arrow.util;
+/**
+ * Annotation to indicate an class member or class is visible
+ * only for the purposes of testing and otherwise should not
+ * be referenced by other classes.
+ */
public @interface VisibleForTesting {
}
diff --git a/java/plasma/src/main/java/org/apache/arrow/plasma/ObjectStoreLink.java b/java/plasma/src/main/java/org/apache/arrow/plasma/ObjectStoreLink.java
index 520549b8d333..ba339da845ef 100644
--- a/java/plasma/src/main/java/org/apache/arrow/plasma/ObjectStoreLink.java
+++ b/java/plasma/src/main/java/org/apache/arrow/plasma/ObjectStoreLink.java
@@ -27,6 +27,9 @@
*/
public interface ObjectStoreLink {
+ /**
+ * Tuple for data and metadata stored in Plasma.
+ */
class ObjectStoreData {
public ObjectStoreData(byte[] metadata, byte[] data) {
diff --git a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/DuplicateObjectException.java b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/DuplicateObjectException.java
index 464d54d6d5b1..cb735282cea5 100644
--- a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/DuplicateObjectException.java
+++ b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/DuplicateObjectException.java
@@ -17,6 +17,9 @@
package org.apache.arrow.plasma.exceptions;
+/**
+ * Thrown when attempting to place an object into the store for an ID that already exists.
+ */
public class DuplicateObjectException extends RuntimeException {
public DuplicateObjectException(String objectId) {
diff --git a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaClientException.java b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaClientException.java
index 0608ad7178d4..ff9d96b17243 100644
--- a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaClientException.java
+++ b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaClientException.java
@@ -17,6 +17,9 @@
package org.apache.arrow.plasma.exceptions;
+/**
+ * Generic exception thrown by the plasma client (for example on failure to connect).
+ */
public class PlasmaClientException extends RuntimeException {
public PlasmaClientException(String message) {
diff --git a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaOutOfMemoryException.java b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaOutOfMemoryException.java
index 831a4caf6280..fd323fa70c99 100644
--- a/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaOutOfMemoryException.java
+++ b/java/plasma/src/main/java/org/apache/arrow/plasma/exceptions/PlasmaOutOfMemoryException.java
@@ -17,6 +17,9 @@
package org.apache.arrow.plasma.exceptions;
+/**
+ * Indicates no more memory is available in Plasma.
+ */
public class PlasmaOutOfMemoryException extends RuntimeException {
public PlasmaOutOfMemoryException() {
diff --git a/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java b/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java
index 477211f640fd..b10507386027 100644
--- a/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java
+++ b/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java
@@ -98,6 +98,9 @@ public void close() throws IOException {
serverSocket.close();
}
+ /**
+ * Handler for each client connection to the server.
+ */
public static class ClientConnection implements AutoCloseable {
public final Socket socket;
diff --git a/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java b/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java
index 921690eaedb8..c49b04c85584 100644
--- a/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java
+++ b/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java
@@ -37,6 +37,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * Application that verifies data can be round-tripped through a file.
+ */
public class FileRoundtrip {
private static final Logger LOGGER = LoggerFactory.getLogger(FileRoundtrip.class);
private final Options options;
diff --git a/java/tools/src/main/java/org/apache/arrow/tools/Integration.java b/java/tools/src/main/java/org/apache/arrow/tools/Integration.java
index 559b7eafa64a..cd374a97d710 100644
--- a/java/tools/src/main/java/org/apache/arrow/tools/Integration.java
+++ b/java/tools/src/main/java/org/apache/arrow/tools/Integration.java
@@ -127,6 +127,9 @@ private Command toCommand(String commandName) {
}
}
+ /**
+ * Commands (actions) the application can perform.
+ */
enum Command {
ARROW_TO_JSON(true, false) {
@Override
diff --git a/java/vector/src/main/java/org/apache/arrow/util/Collections2.java b/java/vector/src/main/java/org/apache/arrow/util/Collections2.java
index 9ea499479f11..fc48b4a37f15 100644
--- a/java/vector/src/main/java/org/apache/arrow/util/Collections2.java
+++ b/java/vector/src/main/java/org/apache/arrow/util/Collections2.java
@@ -29,6 +29,9 @@
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
+/**
+ * Utility methods for manipulating {@link java.util.Collections} and their subclasses/implementations.
+ */
public class Collections2 {
private Collections2() {}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java b/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java
index df38641b47a4..30aadfbcabde 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java
@@ -19,7 +19,11 @@
import org.apache.arrow.util.Preconditions;
-/** Tuple class containing a vector and whether is was created. */
+/**
+ * Tuple class containing a vector and whether is was created.
+ *
+ * @param The type of vector the result is for.
+ */
public class AddOrGetResult {
private final V vector;
private final boolean created;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java
index 2b62807cd409..e60aeea15fd1 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java
@@ -139,6 +139,9 @@ long computeCombinedBufferSize(int valueCount, int typeWidth) {
return BaseAllocator.nextPowerOfTwo(bufferSize);
}
+ /**
+ * Container for primitive vectors (1 for the validity bit-mask and one to hold the values).
+ */
class DataAndValidityBuffers {
private ArrowBuf dataBuf;
private ArrowBuf validityBuf;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BufferLayout.java b/java/vector/src/main/java/org/apache/arrow/vector/BufferLayout.java
index 160c233e3552..d50568b98771 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/BufferLayout.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/BufferLayout.java
@@ -26,6 +26,9 @@
*/
public class BufferLayout {
+ /**
+ * Enumeration of the different logical types a buffer can have.
+ */
public enum BufferType {
DATA("DATA"),
OFFSET("OFFSET"),
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java b/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java
index 0eba58cb5385..d70ae29e5848 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java
@@ -18,6 +18,9 @@
package org.apache.arrow.vector;
+/**
+ * Interface for all fixed width {@link ValueVector} (e.g. integer, fixed size binary, etc).
+ */
public interface FixedWidthVector extends ValueVector {
/**
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java b/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java
index dcdc66b3e8cf..b61e4a160fc0 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java
@@ -20,6 +20,10 @@
import org.apache.arrow.vector.util.CallBack;
+/**
+ * Callback for when the Schema for the Vector changes (generally happens when a vector is promoted to a union type
+ * from a single value type).
+ */
public class SchemaChangeCallBack implements CallBack {
private boolean schemaChanged = false;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/TimeStampVector.java b/java/vector/src/main/java/org/apache/arrow/vector/TimeStampVector.java
index 5f66ddc3f0ec..d4aa9d8c68ac 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/TimeStampVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/TimeStampVector.java
@@ -193,6 +193,9 @@ public static long get(final ArrowBuf buffer, final int index) {
*----------------------------------------------------------------*/
+ /**
+ * {@link TransferPair} for {@link TimeStampVector}.
+ */
public class TransferImpl implements TransferPair {
TimeStampVector to;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java b/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java
index fe1fcfba41fc..758d596b81cb 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java
@@ -17,6 +17,9 @@
package org.apache.arrow.vector;
+/**
+ * Interface vectors that contain variable width members (e.g. Strings, Lists, etc).
+ */
public interface VariableWidthVector extends ValueVector, DensityAwareVector {
/**
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VectorDefinitionSetter.java b/java/vector/src/main/java/org/apache/arrow/vector/VectorDefinitionSetter.java
index a0eb23f949ed..39804ee41702 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/VectorDefinitionSetter.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/VectorDefinitionSetter.java
@@ -17,7 +17,10 @@
package org.apache.arrow.vector;
+/**
+ * Interface for setting a specific index values as defined/valid on a vector.
+ */
public interface VectorDefinitionSetter {
- public void setIndexDefined(int index);
+ void setIndexDefined(int index);
}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java b/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java
index aad7080f0035..37784ede1d1f 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java
@@ -37,6 +37,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * A zero length vector of any type.
+ */
public class ZeroVector implements FieldVector {
public static final ZeroVector INSTANCE = new ZeroVector();
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/NonNullableStructVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/NonNullableStructVector.java
index b6aa7b8e9ff7..1ca315a843c7 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/NonNullableStructVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/NonNullableStructVector.java
@@ -186,6 +186,9 @@ public TransferPair getTransferPair(String ref, BufferAllocator allocator) {
return new StructTransferPair(this, new NonNullableStructVector(ref, allocator, fieldType, callBack), false);
}
+ /**
+ * {@link TransferPair} for this this class.
+ */
protected static class StructTransferPair implements TransferPair {
private final TransferPair[] pairs;
private final NonNullableStructVector from;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java
index 82c612680985..d1985c10a4b0 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java
@@ -17,6 +17,11 @@
package org.apache.arrow.vector.complex;
+/**
+ * Get and set position in a particular data structure.
+ *
+ */
+@SuppressWarnings("unused") // Used in when instantiating freemarker templates.
public interface Positionable {
public int getPosition();
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java
index a3595bde76ba..6c8cba55a52e 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java
@@ -23,6 +23,9 @@
import org.apache.arrow.vector.types.pojo.DictionaryEncoding;
import org.apache.arrow.vector.types.pojo.FieldType;
+/**
+ * Vector that can store multiple {@linkplain FieldType} vectors as children.
+ */
public interface PromotableVector {
AddOrGetResult addOrGetVector(FieldType type);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java
index 6c5045167ade..5f5324138c50 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java
@@ -17,6 +17,10 @@
package org.apache.arrow.vector.complex;
+/**
+ * A {@link org.apache.arrow.vector.ValueVector} mix-in that can be used in conjunction with
+ * variable {@link RepeatedValueVector} subtypes (e.g. Strings, Lists, etc).
+ */
public interface RepeatedVariableWidthVectorLike {
/**
* Allocate a new memory space for this vector. Must be called prior to using the ValueVector.
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/StructVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/StructVector.java
index c7f95f81976f..03cb359d4786 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/StructVector.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/StructVector.java
@@ -164,6 +164,9 @@ public TransferPair getTransferPair(String ref, BufferAllocator allocator, CallB
return new NullableStructTransferPair(this, new StructVector(ref, allocator, fieldType, callBack), false);
}
+ /**
+ * {@link TransferPair} for this (nullable) {@link StructVector}.
+ */
protected class NullableStructTransferPair extends StructTransferPair {
private StructVector target;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java
index 9104532fec9e..fa00f4b630fc 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java
@@ -19,6 +19,10 @@
import org.apache.arrow.vector.ValueVector;
+/**
+ * Tuple of a {@link ValueVector} and an index into a data structure containing the {@link ValueVector}.
+ * Useful for composite types to determine the index of a child.
+ */
public class VectorWithOrdinal {
public final ValueVector vector;
public final int ordinal;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java
index 9080b54df2f5..b5cb8b3b99c9 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java
@@ -24,7 +24,11 @@
import org.apache.arrow.vector.complex.writer.FieldWriter;
import org.apache.arrow.vector.holders.UnionHolder;
-
+/**
+ * Base class providing common functionality for {@link FieldReader} implementations.
+ *
+ * This includes tracking the current index and throwing implementations of optional methods.
+ */
abstract class AbstractBaseReader implements FieldReader {
static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractBaseReader.class);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java
index 8236f88e3faf..cc3c5deed505 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java
@@ -20,6 +20,11 @@
import org.apache.arrow.vector.complex.writer.FieldWriter;
+/**
+ * Base class providing common functionality for {@link FieldWriter} implementations.
+ *
+ *
Currently this only includes index tracking.
+ */
abstract class AbstractBaseWriter implements FieldWriter {
//private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractBaseWriter.class);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructReaderImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructReaderImpl.java
index d1c5b248826e..5c098f627a15 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructReaderImpl.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructReaderImpl.java
@@ -22,6 +22,10 @@
import org.apache.arrow.vector.complex.writer.BaseWriter.StructWriter;
import org.apache.arrow.vector.types.pojo.Field;
+/**
+ * An {@link org.apache.arrow.vector.complex.reader.FieldReader} for
+ * reading nullable struct vectors.
+ */
public class NullableStructReaderImpl extends SingleStructReaderImpl {
private StructVector nullableStructVector;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructWriterFactory.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructWriterFactory.java
index e5f6c55f2cd6..458aa7b61014 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructWriterFactory.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableStructWriterFactory.java
@@ -19,6 +19,10 @@
import org.apache.arrow.vector.complex.StructVector;
+/**
+ * A factory for {@link NullableStructWriter} instances. The factory allows for configuring if field
+ * names should be considered case sensitive.
+ */
public class NullableStructWriterFactory {
private final boolean caseSensitive;
private static final NullableStructWriterFactory nullableStructWriterFactory =
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleStructReaderImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleStructReaderImpl.java
index 26427ab2bc3b..3590e40cef74 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleStructReaderImpl.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleStructReaderImpl.java
@@ -28,6 +28,9 @@
import org.apache.arrow.vector.types.Types.MinorType;
import org.apache.arrow.vector.types.pojo.Field;
+/**
+ * {@link FieldReader} for a single {@link org.apache.arrow.vector.complex.NonNullableStructVector}.
+ */
@SuppressWarnings("unused")
public class SingleStructReaderImpl extends AbstractFieldReader {
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java
index 711583c2a4bb..a8c185aef6bc 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java
@@ -26,6 +26,9 @@
import org.apache.arrow.vector.types.Types.MinorType;
import org.apache.arrow.vector.types.pojo.Field;
+/**
+ * {@link FieldReader} for list of union types.
+ */
public class UnionListReader extends AbstractFieldReader {
private ListVector vector;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java
index dd8466be3c95..d16992f37b22 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java
@@ -24,5 +24,9 @@
import org.apache.arrow.vector.complex.reader.BaseReader.StructReader;
+/**
+ * Composite of all Reader types (e.g. {@link StructReader}, {@link ScalarReader}, etc). Each reader type
+ * is in essence a way of iterating over a {@link ValueVector}.
+ */
public interface FieldReader extends StructReader, ListReader, ScalarReader, RepeatedStructReader, RepeatedListReader {
}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java
index aa4f422dab56..bf05a0ace30f 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java
@@ -21,6 +21,10 @@
import org.apache.arrow.vector.complex.writer.BaseWriter.ScalarWriter;
import org.apache.arrow.vector.complex.writer.BaseWriter.StructWriter;
+/**
+ * Composite of all writer types. Writers are convenience classes for incrementally
+ * adding values to {@linkplain org.apache.arrow.vector.ValueVector}s.
+ */
public interface FieldWriter extends StructWriter, ListWriter, ScalarWriter {
void allocate();
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java
index 0f2faf7c2aab..1c2a0aced176 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java
@@ -30,6 +30,11 @@
import org.apache.arrow.vector.types.pojo.FieldType;
import org.apache.arrow.vector.util.TransferPair;
+/**
+ * Encoder/decoder for Dictionary encoded {@link ValueVector}. Dictionary encoding produces an
+ * integer {@link ValueVector}. Each entry in the Vector is index into the dictionary which can hold
+ * values of any type.
+ */
public class DictionaryEncoder {
// TODO recursively examine fields?
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java
index 5a2727e486a6..e99fd1c38244 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java
@@ -29,6 +29,9 @@ public interface DictionaryProvider {
/** Return the dictionary for the given ID. */
public Dictionary lookup(long id);
+ /**
+ * Implementation of {@link DictionaryProvider} that is backed by a hash-map.
+ */
public static class MapDictionaryProvider implements DictionaryProvider {
private final Map map;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java
index 024cf873f384..b4cb4882f39b 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java
@@ -19,6 +19,9 @@
import org.apache.arrow.vector.complex.reader.FieldReader;
+/**
+ * Represents a single value of a complex type (e.g. Union, Struct).
+ */
public class ComplexHolder implements ValueHolder {
public FieldReader reader;
public int isSet;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java
index a881be481119..fc17704f01d8 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java
@@ -17,6 +17,9 @@
package org.apache.arrow.vector.holders;
+/**
+ * {@link ValueHolder} for a nested {@link org.apache.arrow.vector.complex.ListVector}.
+ */
public final class RepeatedListHolder implements ValueHolder {
public int start;
public int end;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedStructHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedStructHolder.java
index 71e4d009dad1..32c590a8af29 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedStructHolder.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedStructHolder.java
@@ -17,6 +17,9 @@
package org.apache.arrow.vector.holders;
+/**
+ * {@link ValueHolder} for a list of structs.
+ */
public final class RepeatedStructHolder implements ValueHolder {
public int start;
public int end;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java
index 4bf3890598db..e67a0e941da9 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java
@@ -20,6 +20,9 @@
import org.apache.arrow.vector.complex.reader.FieldReader;
import org.apache.arrow.vector.types.Types.MinorType;
+/**
+ * {@link ValueHolder} for Union Vectors.
+ */
public class UnionHolder implements ValueHolder {
public FieldReader reader;
public int isSet;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowFileWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowFileWriter.java
index 29a52140c2f3..7a9727aaf77f 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowFileWriter.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowFileWriter.java
@@ -32,6 +32,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * {@link ArrowWriter} that writes out a Arrow files (https://arrow.apache.org/docs/format/IPC.html#file-format).
+ */
public class ArrowFileWriter extends ArrowWriter {
private static final Logger LOGGER = LoggerFactory.getLogger(ArrowFileWriter.class);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowMagic.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowMagic.java
index fd3973025493..9c399669affc 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowMagic.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ArrowMagic.java
@@ -21,7 +21,11 @@
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
+/**
+ * Magic header/footer helpers for {@link ArrowFileWriter} and {@link ArrowFileReader} formatted files.
+ */
class ArrowMagic {
+ private ArrowMagic(){}
private static final byte[] MAGIC = "ARROW1".getBytes(StandardCharsets.UTF_8);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/InvalidArrowFileException.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/InvalidArrowFileException.java
index 97bde246753c..e234058e6851 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/InvalidArrowFileException.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/InvalidArrowFileException.java
@@ -17,6 +17,9 @@
package org.apache.arrow.vector.ipc;
+/**
+ * Exception indicating a problem with an Arrow File (https://arrow.apache.org/docs/format/IPC.html#file-format).
+ */
public class InvalidArrowFileException extends RuntimeException {
private static final long serialVersionUID = 1L;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java
index ddf13bc736e2..937550cf44ba 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java
@@ -82,6 +82,9 @@
*/
public class JsonFileWriter implements AutoCloseable {
+ /**
+ * Configuration POJO for writing JSON files.
+ */
public static final class JSONWriteConfig {
private final boolean pretty;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ReadChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ReadChannel.java
index bfceb635e78c..3c3069e8b03b 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/ReadChannel.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/ReadChannel.java
@@ -26,6 +26,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * Adapter around {@link ReadableByteChannel} that reads into {@linkplain ArrowBuf}s.
+ */
public class ReadChannel implements AutoCloseable {
private static final Logger LOGGER = LoggerFactory.getLogger(ReadChannel.class);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/SeekableReadChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/SeekableReadChannel.java
index d8e5337a01a9..4b6e0ed76e52 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/SeekableReadChannel.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/SeekableReadChannel.java
@@ -20,6 +20,10 @@
import java.io.IOException;
import java.nio.channels.SeekableByteChannel;
+/**
+ * An {@link ReadChannel} that supports seeking to a
+ * random position.
+ */
public class SeekableReadChannel extends ReadChannel {
private final SeekableByteChannel in;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowDictionaryBatch.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowDictionaryBatch.java
index b73287cd26d1..a466db8bf9be 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowDictionaryBatch.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowDictionaryBatch.java
@@ -21,6 +21,10 @@
import com.google.flatbuffers.FlatBufferBuilder;
+/**
+ * POJO wrapper around a Dictionary Batch IPC messages
+ * (https://arrow.apache.org/docs/format/IPC.html#dictionary-batches)
+ */
public class ArrowDictionaryBatch implements ArrowMessage {
private final long dictionaryId;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowMessage.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowMessage.java
index f4f61b1191a3..45c697aceca3 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowMessage.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowMessage.java
@@ -17,15 +17,23 @@
package org.apache.arrow.vector.ipc.message;
+/**
+ * Interface for Arrow IPC messages (https://arrow.apache.org/docs/format/IPC.html).
+ */
public interface ArrowMessage extends FBSerializable, AutoCloseable {
- public int computeBodyLength();
+ int computeBodyLength();
- public T accepts(ArrowMessageVisitor visitor);
+ T accepts(ArrowMessageVisitor visitor);
- public static interface ArrowMessageVisitor {
- public T visit(ArrowDictionaryBatch message);
+ /**
+ * Visitor interface for implementations of {@link ArrowMessage}.
+ *
+ * @param The type of value to return after visiting.
+ */
+ static interface ArrowMessageVisitor {
+ T visit(ArrowDictionaryBatch message);
- public T visit(ArrowRecordBatch message);
+ T visit(ArrowRecordBatch message);
}
}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java
index ce7aefc3c2e0..1d69abd895ee 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java
@@ -32,6 +32,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * POJO representation of an RecordBatch IPC message (https://arrow.apache.org/docs/format/IPC.html).
+ */
public class ArrowRecordBatch implements ArrowMessage {
private static final Logger LOGGER = LoggerFactory.getLogger(ArrowRecordBatch.class);
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java
index 28a32345cca2..8fce12e83aa5 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java
@@ -17,8 +17,13 @@
package org.apache.arrow.vector.types;
+/**
+ * Resolutions that dates can be stored at.
+ */
public enum DateUnit {
+ /** Days since epoch. */
DAY(org.apache.arrow.flatbuf.DateUnit.DAY),
+ /** Milliseconds since epoch. */
MILLISECOND(org.apache.arrow.flatbuf.DateUnit.MILLISECOND);
private static final DateUnit[] valuesByFlatbufId = new DateUnit[DateUnit.values().length];
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java b/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java
index 39069b25fb70..c52fc1243d99 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java
@@ -19,9 +19,15 @@
import org.apache.arrow.flatbuf.Precision;
+/**
+ * Precisions of primitive floating point numbers.
+ */
public enum FloatingPointPrecision {
+ /** 16-bit (not a standard java type). */
HALF(Precision.HALF),
+ /** 32-bit (i.e. float in java). */
SINGLE(Precision.SINGLE),
+ /** 64-bit (i.e. double in java). */
DOUBLE(Precision.DOUBLE);
private static final FloatingPointPrecision[] valuesByFlatbufId =
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java
index 68abf4dbabdc..66a51a471ab0 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java
@@ -17,8 +17,13 @@
package org.apache.arrow.vector.types;
+/**
+ * Resolutions for Interval Vectors.
+ */
public enum IntervalUnit {
+ /** Values are stored as number of months (which can be converted into years and months via division). */
YEAR_MONTH(org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH),
+ /** Values are stored as some number of days and some number of milliseconds within that day. */
DAY_TIME(org.apache.arrow.flatbuf.IntervalUnit.DAY_TIME);
private static final IntervalUnit[] valuesByFlatbufId = new IntervalUnit[IntervalUnit.values().length];
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java
index ee0e67e5a656..dcaebba48886 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java
@@ -17,6 +17,9 @@
package org.apache.arrow.vector.types;
+/**
+ * Resolutions that times can be stored with.
+ */
public enum TimeUnit {
SECOND(org.apache.arrow.flatbuf.TimeUnit.SECOND),
MILLISECOND(org.apache.arrow.flatbuf.TimeUnit.MILLISECOND),
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java b/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java
index c0180a0463ca..f8ec4ca8f835 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java
@@ -122,6 +122,9 @@
/** An enumeration of all logical types supported by this library. */
public class Types {
+ /**
+ * The actual enumeration of types.
+ */
public enum MinorType {
NULL(Null.INSTANCE) {
@Override
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java b/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java
index d365bf82574a..18ceaf020b2c 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java
@@ -17,8 +17,20 @@
package org.apache.arrow.vector.types;
+/**
+ * Different memory layouts for Union Vectors.
+ */
public enum UnionMode {
+ /**
+ * Each child vector is the same length as the overall vector, and there is one 8-bit integer buffer to indicate
+ * the index of a child vector to use at any given position.
+ */
Sparse(org.apache.arrow.flatbuf.UnionMode.Sparse),
+ /**
+ * Each child vector is of variable width. The parent vector contains both an child index vector (like in
+ * {@link #Sparse}) and in addition a slot index buffer to determine the offset into the child vector indicated
+ * by the index vector.
+ */
Dense(org.apache.arrow.flatbuf.UnionMode.Dense);
private static final UnionMode[] valuesByFlatbufId = new UnionMode[UnionMode.values().length];
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java
index d3a6eb4a34aa..cf33e56b25a1 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java
@@ -27,6 +27,10 @@
import org.apache.arrow.vector.types.Types.MinorType;
import org.apache.arrow.vector.util.CallBack;
+/**
+ * POJO representation of an Arrow field type. It consists of a logical type, nullability and whether the field
+ * (column) is dictionary encoded.
+ */
public class FieldType {
public static FieldType nullable(ArrowType type) {
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java
index bbe6d1c907b2..d3179c16fd9f 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java
@@ -22,9 +22,14 @@
import io.netty.buffer.ArrowBuf;
import io.netty.util.internal.PlatformDependent;
+/**
+ * Utility methods for memory comparison at a byte level.
+ */
public class ByteFunctionHelpers {
static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ByteFunctionHelpers.class);
+ private ByteFunctionHelpers() {}
+
/**
* Helper function to check for equality of bytes in two ArrowBufs.
*
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java b/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java
index c565d63d19e4..ddeca59b06f3 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java
@@ -17,7 +17,9 @@
package org.apache.arrow.vector.util;
-
+/**
+ * Generic callback interface to be notified of events on value vectors.
+ */
public interface CallBack {
- public void doWork();
+ void doWork();
}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java b/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java
index 00c6b5d60a52..0f00e7230502 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java
@@ -23,6 +23,9 @@
import io.netty.buffer.ArrowBuf;
+/**
+ * Utility methods for configurable precision Decimal values (e.g. {@link BigDecimal}).
+ */
public class DecimalUtility {
private DecimalUtility() {}
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java b/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java
index f2d1663ac011..f3f47b236142 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java
@@ -31,8 +31,11 @@
import org.apache.arrow.vector.types.pojo.Field;
import org.apache.arrow.vector.types.pojo.FieldType;
-
+/**
+ * Utility methods for working with Dictionaries used in Dictionary encodings.
+ */
public class DictionaryUtility {
+ private DictionaryUtility() {}
/**
* Convert field and child fields that have a dictionary encoding to message format, so fields
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java
index 96327e7fa3ac..2ca71ec63d5a 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java
@@ -22,6 +22,12 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+/**
+ * Extension of {@link ArrayList} that {@link #toString()} method returns the serialized JSON
+ * version of its members (or throws an exception if they can't be converted to JSON).
+ *
+ * @param Type of value held in the list.
+ */
public class JsonStringArrayList extends ArrayList {
private static ObjectMapper mapper;
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java
index 542bb6d17e09..f41ae4ee27a9 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java
@@ -22,9 +22,12 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-/*
+/**
* Simple class that extends the regular java.util.HashMap but overrides the
* toString() method of the HashMap class to produce a JSON string instead
+ *
+ * @param The type of the key for the map.
+ * @param The type of the value for the map.
*/
public class JsonStringHashMap extends LinkedHashMap {
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java b/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java
index c9e225776d5d..c29eb6ad3731 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java
@@ -18,6 +18,9 @@
package org.apache.arrow.vector.util;
+/**
+ * Thrown when child vectors (e.g. in lists) don't match the expected type.
+ */
public class SchemaChangeRuntimeException extends RuntimeException {
public SchemaChangeRuntimeException() {
super();
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java b/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java
index ef444fe40a3b..d020985956e7 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java
@@ -668,6 +668,9 @@ public static int utf8Length(String string) {
return size;
}
+ /**
+ * JSON serializer for {@link Text}.
+ */
public static class TextSerializer extends StdSerializer {
public TextSerializer() {
diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java b/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java
index 99e16d2a3b23..ca3876c7b86d 100644
--- a/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java
+++ b/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java
@@ -19,12 +19,15 @@
import org.apache.arrow.vector.ValueVector;
+/**
+ * Interface for copying values between a pair of two vectors of the same type.
+ */
public interface TransferPair {
- public void transfer();
+ void transfer();
- public void splitAndTransfer(int startIndex, int length);
+ void splitAndTransfer(int startIndex, int length);
- public ValueVector getTo();
+ ValueVector getTo();
- public void copyValueSafe(int from, int to);
+ void copyValueSafe(int from, int to);
}