Skip to content

Commit

Permalink
Merge pull request #491 from younker99/master
Browse files Browse the repository at this point in the history
添加DocJavaMethod自定义拓展 #488
  • Loading branch information
shalousun authored May 2, 2023
2 parents a79b849 + c4e93db commit 060fa26
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/main/java/com/power/doc/handler/ICustomJavaMethodHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* smart-doc https://github.com/smart-doc-group/smart-doc
*
* Copyright (C) 2018-2023 smart-doc
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.power.doc.handler;

import com.power.doc.model.DocJavaMethod;
import com.thoughtworks.qdox.model.JavaClass;

import java.util.List;

/**
* handle customized operation for {@link DocJavaMethod}.
*
* @author yangyang
*/
@FunctionalInterface
public interface ICustomJavaMethodHandler {
List<DocJavaMethod> apply(JavaClass cls, List<DocJavaMethod> methodList);
}
13 changes: 13 additions & 0 deletions src/main/java/com/power/doc/model/ApiConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@

import com.power.common.util.CollectionUtil;
import com.power.doc.constants.DocLanguage;
import com.power.doc.handler.ICustomJavaMethodHandler;
import com.power.doc.model.rpc.RpcApiDependency;

/**
Expand Down Expand Up @@ -348,6 +349,10 @@ public class ApiConfig {
* @since 2.2.5
*/
private boolean responseParamsTable = Boolean.TRUE;
/**
* @since 2.6.8
*/
private ICustomJavaMethodHandler customJavaMethodHandler;

public String getCodePath() {
return codePath;
Expand Down Expand Up @@ -928,4 +933,12 @@ public String getServerEnv() {
public void setServerEnv(String serverEnv) {
this.serverEnv = serverEnv;
}

public ICustomJavaMethodHandler getCustomJavaMethodHandler() {
return customJavaMethodHandler;
}

public void setCustomJavaMethodHandler(ICustomJavaMethodHandler customJavaMethodHandler) {
this.customJavaMethodHandler = customJavaMethodHandler;
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/power/doc/template/IRestDocTemplate.java
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,10 @@ default List<ApiMethodDoc> buildEntryPointMethod(
}
}
}
// call ICustomJavaMethodHandler
if (apiConfig.getCustomJavaMethodHandler() != null) {
docJavaMethods = apiConfig.getCustomJavaMethodHandler().apply(cls, docJavaMethods);
}
List<ApiMethodDoc> methodDocList = new ArrayList<>(methods.size());
int methodOrder = 0;
for (DocJavaMethod docJavaMethod : docJavaMethods) {
Expand Down

0 comments on commit 060fa26

Please sign in to comment.