This is an automated email from the ASF dual-hosted git repository.
lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 4ea5d49 add some interface comment to api-base (#1190)
4ea5d49 is described below
commit 4ea5d49214b276c110e97f12610fc3e6d919780c
Author: CenterCode <[email protected]>
AuthorDate: Sat Feb 5 20:50:48 2022 +0800
add some interface comment to api-base (#1190)
* [SeaTunnel#1189] add some interface comment to api-base
* [SeaTunnel#1189] add some interface comment to api-flink
* [SeaTunnel#1189] add some interface comment to api-spark
---
.../src/main/java/org/apache/seatunnel/apis/BaseSink.java | 3 +++
.../src/main/java/org/apache/seatunnel/apis/BaseSource.java | 3 +++
.../main/java/org/apache/seatunnel/apis/BaseTransform.java | 3 +++
.../src/main/java/org/apache/seatunnel/env/Execution.java | 11 +++++++++++
.../src/main/java/org/apache/seatunnel/env/RuntimeEnv.java | 3 +++
.../src/main/java/org/apache/seatunnel/plugin/Plugin.java | 3 +++
.../main/java/org/apache/seatunnel/flink/BaseFlinkSink.java | 3 +++
.../main/java/org/apache/seatunnel/flink/BaseFlinkSource.java | 3 +++
.../java/org/apache/seatunnel/flink/BaseFlinkTransform.java | 3 +++
.../java/org/apache/seatunnel/flink/batch/FlinkBatchSink.java | 3 +++
.../org/apache/seatunnel/flink/batch/FlinkBatchSource.java | 3 +++
.../org/apache/seatunnel/flink/batch/FlinkBatchTransform.java | 3 +++
.../org/apache/seatunnel/flink/stream/FlinkStreamSink.java | 3 +++
.../org/apache/seatunnel/flink/stream/FlinkStreamSource.java | 3 +++
.../apache/seatunnel/flink/stream/FlinkStreamTransform.java | 3 +++
.../main/scala/org/apache/seatunnel/spark/BaseSparkSink.scala | 3 +++
.../scala/org/apache/seatunnel/spark/BaseSparkSource.scala | 3 +++
.../scala/org/apache/seatunnel/spark/BaseSparkTransform.scala | 3 +++
.../org/apache/seatunnel/spark/batch/SparkBatchSink.scala | 4 ++++
.../org/apache/seatunnel/spark/batch/SparkBatchSource.scala | 4 ++++
.../apache/seatunnel/spark/stream/SparkStreamingSink.scala | 4 ++++
.../apache/seatunnel/spark/stream/SparkStreamingSource.scala | 4 ++++
.../spark/structuredstream/StructuredStreamingSink.scala | 4 ++++
.../spark/structuredstream/StructuredStreamingSource.scala | 4 ++++
24 files changed, 86 insertions(+)
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSink.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSink.java
index 87c1727..3b3bb29 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSink.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSink.java
@@ -20,5 +20,8 @@ package org.apache.seatunnel.apis;
import org.apache.seatunnel.env.RuntimeEnv;
import org.apache.seatunnel.plugin.Plugin;
+/**
+ * a base interface indicates a sink plugin which will write data to other
system.
+ */
public interface BaseSink<T extends RuntimeEnv> extends Plugin<T> {
}
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSource.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSource.java
index 425d784..767ebd8 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSource.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseSource.java
@@ -20,6 +20,9 @@ package org.apache.seatunnel.apis;
import org.apache.seatunnel.env.RuntimeEnv;
import org.apache.seatunnel.plugin.Plugin;
+/**
+ * a base interface indicates a source plugin which will read data from other
system.
+ */
public interface BaseSource<T extends RuntimeEnv> extends Plugin<T> {
}
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseTransform.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseTransform.java
index ac906bc..5f78e00 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseTransform.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/apis/BaseTransform.java
@@ -20,6 +20,9 @@ package org.apache.seatunnel.apis;
import org.apache.seatunnel.env.RuntimeEnv;
import org.apache.seatunnel.plugin.Plugin;
+/**
+ * a base interface indicates a transform plugin which will do transformations
on data.
+ */
public interface BaseTransform<T extends RuntimeEnv> extends Plugin<T> {
}
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/Execution.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/Execution.java
index 6fb2a11..89efee6 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/Execution.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/Execution.java
@@ -24,6 +24,17 @@ import org.apache.seatunnel.plugin.Plugin;
import java.util.List;
+/**
+ * the SeaTunnel job's execution context
+ */
public interface Execution<SR extends BaseSource, TF extends BaseTransform, SK
extends BaseSink> extends Plugin<Void> {
+
+ /**
+ * start to execute the SeaTunnel job
+ *
+ * @param sources source plugin list
+ * @param transforms transform plugin list
+ * @param sinks sink plugin list
+ */
void start(List<SR> sources, List<TF> transforms, List<SK> sinks);
}
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/RuntimeEnv.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/RuntimeEnv.java
index c791e65..f582c8d 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/RuntimeEnv.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/env/RuntimeEnv.java
@@ -19,6 +19,9 @@ package org.apache.seatunnel.env;
import org.apache.seatunnel.plugin.Plugin;
+/**
+ * engine related runtime environment
+ */
public interface RuntimeEnv extends Plugin<Boolean> {
}
diff --git
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/plugin/Plugin.java
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/plugin/Plugin.java
index 77a4706..c2bba47 100644
---
a/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/plugin/Plugin.java
+++
b/seatunnel-apis/seatunnel-api-base/src/main/java/org/apache/seatunnel/plugin/Plugin.java
@@ -23,6 +23,9 @@ import org.apache.seatunnel.shade.com.typesafe.config.Config;
import java.io.Serializable;
+/**
+ * a base interface indicates belonging to SeaTunnel.
+ */
public interface Plugin<T> extends Serializable {
String RESULT_TABLE_NAME = "result_table_name";
String SOURCE_TABLE_NAME = "source_table_name";
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSink.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSink.java
index a5a53ed..2ab8bac 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSink.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSink.java
@@ -19,5 +19,8 @@ package org.apache.seatunnel.flink;
import org.apache.seatunnel.apis.BaseSink;
+/**
+ * a base interface indicates a sink plugin running on Flink.
+ */
public interface BaseFlinkSink extends BaseSink<FlinkEnvironment> {
}
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSource.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSource.java
index a2bbc93..1345eba 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSource.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkSource.java
@@ -19,5 +19,8 @@ package org.apache.seatunnel.flink;
import org.apache.seatunnel.apis.BaseSource;
+/**
+ * a base interface indicates a source plugin running on Flink.
+ */
public interface BaseFlinkSource extends BaseSource<FlinkEnvironment> {
}
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkTransform.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkTransform.java
index eba663d..fc3dba8 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkTransform.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/BaseFlinkTransform.java
@@ -19,6 +19,9 @@ package org.apache.seatunnel.flink;
import org.apache.seatunnel.apis.BaseTransform;
+/**
+ * a base interface indicates a transform plugin running on Flink.
+ */
public interface BaseFlinkTransform extends BaseTransform<FlinkEnvironment> {
default void registerFunction(FlinkEnvironment flinkEnvironment) {
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSink.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSink.java
index 1153329..033f64a 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSink.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSink.java
@@ -23,6 +23,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.operators.DataSink;
+/**
+ * a FlinkBatchSink plugin will write data to other system using Flink DataSet
API.
+ */
public interface FlinkBatchSink<IN, OUT> extends BaseFlinkSink {
DataSink<OUT> outputBatch(FlinkEnvironment env, DataSet<IN> inDataSet);
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSource.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSource.java
index 9f5eb4b..9d71f10 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSource.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchSource.java
@@ -22,6 +22,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.api.java.DataSet;
+/**
+ * a FlinkBatchSource plugin will read data from other system using Flink
DataSet API.
+ */
public interface FlinkBatchSource<T> extends BaseFlinkSource {
DataSet<T> getData(FlinkEnvironment env);
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchTransform.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchTransform.java
index 3aece40..3a81c66 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchTransform.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/batch/FlinkBatchTransform.java
@@ -22,6 +22,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.api.java.DataSet;
+/**
+ * a FlinkBatchTransform plugin will do transformations to Flink DataSet.
+ */
public interface FlinkBatchTransform<IN, OUT> extends BaseFlinkTransform {
DataSet<OUT> processBatch(FlinkEnvironment env, DataSet<IN> data);
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSink.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSink.java
index 9342d3b..c509a4b 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSink.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSink.java
@@ -23,6 +23,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.DataStreamSink;
+/**
+ * a FlinkStreamSink plugin will write data to other system using Flink
DataStream API.
+ */
public interface FlinkStreamSink<IN, OUT> extends BaseFlinkSink {
DataStreamSink<OUT> outputStream(FlinkEnvironment env, DataStream<IN>
dataStream);
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSource.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSource.java
index 7bc0cd4..c5b9156 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSource.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamSource.java
@@ -22,6 +22,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.streaming.api.datastream.DataStream;
+/**
+ * a FlinkStreamSource plugin will read data from other system using Flink
DataStream API.
+ */
public interface FlinkStreamSource<T> extends BaseFlinkSource {
DataStream<T> getData(FlinkEnvironment env);
diff --git
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamTransform.java
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamTransform.java
index 29d8da2..3df88aa 100644
---
a/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamTransform.java
+++
b/seatunnel-apis/seatunnel-api-flink/src/main/java/org/apache/seatunnel/flink/stream/FlinkStreamTransform.java
@@ -22,6 +22,9 @@ import org.apache.seatunnel.flink.FlinkEnvironment;
import org.apache.flink.streaming.api.datastream.DataStream;
+/**
+ * a FlinkBatchTransform plugin will do transformations to Flink DataStream.
+ */
public interface FlinkStreamTransform<IN, OUT> extends BaseFlinkTransform {
DataStream<OUT> processStream(FlinkEnvironment env, DataStream<IN>
dataStream);
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSink.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSink.scala
index aa4aae6..9e9981d 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSink.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSink.scala
@@ -20,6 +20,9 @@ import org.apache.seatunnel.apis.BaseSink
import org.apache.seatunnel.shade.com.typesafe.config.{Config, ConfigFactory}
import org.apache.spark.sql.{Dataset, Row}
+/**
+ * a base interface indicates a sink plugin running on Spark.
+ */
trait BaseSparkSink[OUT] extends BaseSink[SparkEnvironment] {
protected var config: Config = ConfigFactory.empty()
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSource.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSource.scala
index 9d75a2e..ee9eaad 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSource.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkSource.scala
@@ -19,6 +19,9 @@ package org.apache.seatunnel.spark
import org.apache.seatunnel.apis.BaseSource
import org.apache.seatunnel.shade.com.typesafe.config.{Config, ConfigFactory}
+/**
+ * a base interface indicates a source plugin running on Spark.
+ */
trait BaseSparkSource[Data] extends BaseSource[SparkEnvironment] {
protected var config: Config = ConfigFactory.empty()
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkTransform.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkTransform.scala
index 89d99f2..3294786 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkTransform.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/BaseSparkTransform.scala
@@ -20,6 +20,9 @@ import org.apache.spark.sql.{Dataset, Row}
import org.apache.seatunnel.apis.BaseTransform
import org.apache.seatunnel.shade.com.typesafe.config.{Config, ConfigFactory}
+/**
+ * a base interface indicates a transform plugin running on Spark.
+ */
trait BaseSparkTransform extends BaseTransform[SparkEnvironment] {
protected var config: Config = ConfigFactory.empty()
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSink.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSink.scala
index b7288d6..b86755f 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSink.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSink.scala
@@ -18,4 +18,8 @@ package org.apache.seatunnel.spark.batch
import org.apache.seatunnel.spark.BaseSparkSink
+/**
+ * a SparkBatchSink plugin will write data to other system
+ * using Spark DataSet API.
+ */
trait SparkBatchSink extends BaseSparkSink[Unit] {}
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSource.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSource.scala
index c479caa..95cac53 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSource.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/batch/SparkBatchSource.scala
@@ -19,4 +19,8 @@ package org.apache.seatunnel.spark.batch
import org.apache.seatunnel.spark.BaseSparkSource
import org.apache.spark.sql.{Dataset, Row}
+/**
+ * a SparkBatchSource plugin will read data from other system
+ * using Spark DataSet API.
+ */
trait SparkBatchSource extends BaseSparkSource[Dataset[Row]] {}
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSink.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSink.scala
index 22df7dc..2b04d72 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSink.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSink.scala
@@ -18,4 +18,8 @@ package org.apache.seatunnel.spark.stream
import org.apache.seatunnel.spark.BaseSparkSink
+/**
+ * a SparkStreamingSink plugin will write data to other system
+ * using Spark Streaming API.
+ */
trait SparkStreamingSink extends BaseSparkSink[Unit] {}
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSource.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSource.scala
index 16cea83..7c949fa 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSource.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/stream/SparkStreamingSource.scala
@@ -21,6 +21,10 @@ import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{Dataset, Row, SparkSession}
import org.apache.spark.streaming.dstream.DStream
+/**
+ * a SparkStreamingSource plugin will read data from other system
+ * using Spark Streaming API.
+ */
trait SparkStreamingSource[T] extends BaseSparkSource[DStream[T]] {
def beforeOutput(): Unit = {}
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSink.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSink.scala
index a323371..3b5a88a 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSink.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSink.scala
@@ -20,4 +20,8 @@ import org.apache.seatunnel.spark.BaseSparkSink
import org.apache.spark.sql.Row
import org.apache.spark.sql.streaming.DataStreamWriter
+/**
+ * a StructuredStreamingSink plugin will write data to other system
+ * using Spark Structured streaming API.
+ */
trait StructuredStreamingSink extends BaseSparkSink[DataStreamWriter[Row]] {}
diff --git
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSource.scala
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSource.scala
index b329837..02697ed 100644
---
a/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSource.scala
+++
b/seatunnel-apis/seatunnel-api-spark/src/main/scala/org/apache/seatunnel/spark/structuredstream/StructuredStreamingSource.scala
@@ -19,4 +19,8 @@ package org.apache.seatunnel.spark.structuredstream
import org.apache.seatunnel.spark.BaseSparkSource
import org.apache.spark.sql.{Dataset, Row}
+/**
+ * a StructuredStreamingSource plugin will read data from other system
+ * using Spark Structured streaming API.
+ */
trait StructuredStreamingSource extends BaseSparkSource[Dataset[Row]] {}