diff --git a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/PipePlugin.java b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/PipePlugin.java index ec06f5de31eb..276c5c8b3008 100644 --- a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/PipePlugin.java +++ b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/PipePlugin.java @@ -19,4 +19,41 @@ package org.apache.iotdb.pipe.api; +/** + * {@link PipePlugin} + * + *
{@link PipePlugin} represents a customizable component that can serve as a data extraction + * plugin, data processing plugin, or data sending plugin within a pipeline framework. + * + *
Developers can implement different plugin functionalities according to specific requirements, + * such as collecting data from various sources, transforming the data, or forwarding the data to + * external systems. + * + *
Usage Model: + * + *
Lifecycle: + * + *
Example: {@link org.apache.iotdb.CountPointProcessor} + * + *
Implementations of {@link PipePlugin} should follow best practices for resource management and + * gracefully handle exceptions, especially when running in long-lived or continuously operating + * environments. + */ public interface PipePlugin extends AutoCloseable {} diff --git a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TableModel.java b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TableModel.java index 0106e94b3e1d..8a20d3b65130 100644 --- a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TableModel.java +++ b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TableModel.java @@ -24,6 +24,16 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +/** + * Indicates that a plugin can be used in table model environments. + * + *
When implementing a custom {@link org.apache.iotdb.pipe.api.PipePlugin} that needs to operate + * under table model settings, declare this annotation on the plugin class. Through the {@code + * CREATE PIPEPLUGIN} statement, a plugin annotated with {@link TableModel} is valid for both tree + * model connections and table model connections. + * + * @since 2.0.0 + */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface TableModel {} diff --git a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TreeModel.java b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TreeModel.java index 2b13f35067c2..bc0fca6c52e4 100644 --- a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TreeModel.java +++ b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TreeModel.java @@ -24,6 +24,16 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +/** + * Indicates that a plugin can be used in tree model environments. + * + *
When implementing a custom {@link org.apache.iotdb.pipe.api.PipePlugin} that needs to operate + * under tree model settings, declare this annotation on the plugin class. Through the {@code CREATE + * PIPEPLUGIN} statement, a plugin annotated with {@link TreeModel} is valid for both tree model + * connections and tree model connections. + * + * @since 2.0.0 + */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface TreeModel {}