mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-14 08:26:45 +00:00
feat[pb]: add new PbGenerateOperation recordExcludes to difine Which classes do not need to generate a record class
This commit is contained in:
@@ -158,7 +158,7 @@ public abstract class GeneratePbUtils {
|
||||
var documentComment = buildDocumentComment(pbMessage);
|
||||
builder.append(GenerateProtocolFile.addTabs(documentComment, 1));
|
||||
// message
|
||||
if (pbGenerateOperation.isRecordClass()) {
|
||||
if (pbGenerateOperation.generateRecordClass(pbMessage.getName())) {
|
||||
var recordBody = buildRecordBody(pbMessage);
|
||||
builder.append(GenerateProtocolFile.addTabs(recordBody, 1));
|
||||
} else {
|
||||
@@ -243,7 +243,7 @@ public abstract class GeneratePbUtils {
|
||||
builder.append(documentComment);
|
||||
|
||||
// message
|
||||
if (pbGenerateOperation.isRecordClass()) {
|
||||
if (pbGenerateOperation.generateRecordClass(pbMessage.getName())) {
|
||||
var recordBody = buildRecordBody(pbMessage);
|
||||
builder.append(recordBody);
|
||||
} else {
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
|
||||
package com.zfoo.protocol.serializer.protobuf;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PbGenerateOperation {
|
||||
|
||||
private String protoPath;
|
||||
@@ -22,11 +25,22 @@ public class PbGenerateOperation {
|
||||
* Whether generated class is record
|
||||
*/
|
||||
private boolean recordClass;
|
||||
/**
|
||||
* Which classes do not need to generate a record class
|
||||
*/
|
||||
private List<String> recordExcludes = new ArrayList<>();
|
||||
/**
|
||||
* All protocol files are generated in a single protocol file.
|
||||
*/
|
||||
private boolean oneProtocol;
|
||||
|
||||
public boolean generateRecordClass(String protocolName) {
|
||||
if (recordExcludes.contains(protocolName)) {
|
||||
return false;
|
||||
}
|
||||
return recordClass;
|
||||
}
|
||||
|
||||
public String getProtoPath() {
|
||||
return protoPath;
|
||||
}
|
||||
@@ -55,6 +69,14 @@ public class PbGenerateOperation {
|
||||
return recordClass;
|
||||
}
|
||||
|
||||
public List<String> getRecordExcludes() {
|
||||
return recordExcludes;
|
||||
}
|
||||
|
||||
public void setRecordExcludes(List<String> recordExcludes) {
|
||||
this.recordExcludes = recordExcludes;
|
||||
}
|
||||
|
||||
public void setRecordClass(boolean recordClass) {
|
||||
this.recordClass = recordClass;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ public class GenerateProtobufTesting {
|
||||
buildOption.setOutputPath("zfoopb");
|
||||
buildOption.setJavaPackage("com.zfoo.protocol.generate.test");
|
||||
// buildOption.setRecordClass(true);
|
||||
// buildOption.getRecordExcludes().add("SimpleObject");
|
||||
// buildOption.setOneProtocol(true);
|
||||
GeneratePbUtils.create(buildOption);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user