# transform-plugin-sdk
**Repository Path**: mirrors_qiniu/transform-plugin-sdk
## Basic Information
- **Project Name**: transform-plugin-sdk
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-18
- **Last Updated**: 2025-12-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# transform-plugin-sdk
## 添加依赖
maven方式:
```
com.qiniu
transform-plugin-sdk
1.0.1
provided
```
或者sbt方式:
```
"com.qiniu" %% "transform-plugin-sdk" % 1.0.1 % "provided"
```
或者gradle方式:
```
configurations {
provided
}
sourceSets {
main { compileClasspath += configurations.provided }
}
dependencies {
provided 'com.qiniu:transform-plugin-sdk:1.0.1'
}
```
## plugin编写
### Java语言编写plugin
* 自定义 `plugin` 需要继承 `JavaParser` 抽象类, [JavaParser example](https://github.com/qiniu/transform-plugin-sdk/blob/develop/src/main/scala/com/qiniu/pipeline/sdk/examples/AppendDateTimeJavaParser.java)。
* 重写 `JavaParser` 中 `parse` 方法, `parse` 方法支持单行到单行或者多行间的转换,函数返回值类型为 `List`。
* **注意:** parse的返回值`List`中每行数据由`TransformSpec`中`plugin`的`output`所有字段所对应的值组成,且这些字段的组织顺序必须与`TransformSpec`中`plugin`的`output`中字段顺序保持一致,例如:
`TransformSpec`中`plugin`如下, 其中`com.qiniu.AppendTwoFieldsJavaParser`功能为返回2个字段:
```
"plugin": {
"name": "com.qiniu.AppendTwoFieldsJavaParser",
"output": [
{
"name":"Field1",
"type":"string"
},{
"name":"Field2",
"type":"string"
}
]
}
```
那么`parse` 返回值`parseResult`(类型为`List`)为:
``` java
// 1.根据plugin中output的字段顺序Field1和Field2,因此每行输出数据为Field1和Field2相应值Value1和Value2组成的List
List