added @field @varIn @varOut
This commit is contained in:
parent
7116962f9f
commit
0886a273e4
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package com.inteligr8.activiti.doclet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author brian@inteligr8.com
|
||||||
|
*/
|
||||||
|
public class FieldFreemarkerModel {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String comment;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -135,7 +135,7 @@ class MarkdownWriter {
|
|||||||
this.buildDocumentation(commentTree, beanModel);
|
this.buildDocumentation(commentTree, beanModel);
|
||||||
for (DocTree tag : commentTree.getBlockTags()) {
|
for (DocTree tag : commentTree.getBlockTags()) {
|
||||||
this.buildTagModel(tag, beandoc.getBeanId(),
|
this.buildTagModel(tag, beandoc.getBeanId(),
|
||||||
null, null, null, beanModel);
|
null, null, null, null, null, null, beanModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,6 +186,9 @@ class MarkdownWriter {
|
|||||||
this.logger.debug("Building documentation method model: {}", logId);
|
this.logger.debug("Building documentation method model: {}", logId);
|
||||||
|
|
||||||
Map<String, String> paramComments = new HashMap<>();
|
Map<String, String> paramComments = new HashMap<>();
|
||||||
|
Map<String, String> fieldComments = new LinkedHashMap<>();
|
||||||
|
Map<String, String> varInComments = new LinkedHashMap<>();
|
||||||
|
Map<String, String> varOutComments = new LinkedHashMap<>();
|
||||||
Map<String, String> throwComments = new LinkedHashMap<>();
|
Map<String, String> throwComments = new LinkedHashMap<>();
|
||||||
Map<String, String> errorComments = new LinkedHashMap<>();
|
Map<String, String> errorComments = new LinkedHashMap<>();
|
||||||
|
|
||||||
@ -196,11 +199,14 @@ class MarkdownWriter {
|
|||||||
this.buildDocumentation(methodCommentTree, sigModel);
|
this.buildDocumentation(methodCommentTree, sigModel);
|
||||||
for (DocTree tag : methodCommentTree.getBlockTags()) {
|
for (DocTree tag : methodCommentTree.getBlockTags()) {
|
||||||
this.buildTagModel(tag, logId,
|
this.buildTagModel(tag, logId,
|
||||||
paramComments, throwComments, errorComments, sigModel);
|
paramComments, fieldComments, varInComments, varOutComments, throwComments, errorComments, sigModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.buildMethodArguments(methodElement, logId, paramComments, sigModel);
|
this.buildMethodArguments(methodElement, logId, paramComments, sigModel);
|
||||||
|
this.buildMethodFields(methodElement, logId, fieldComments, sigModel);
|
||||||
|
this.buildMethodVariablesIn(methodElement, logId, varInComments, sigModel);
|
||||||
|
this.buildMethodVariablesOut(methodElement, logId, varOutComments, sigModel);
|
||||||
this.buildMethodThrows(methodElement, logId, throwComments, !errorComments.isEmpty(), sigModel);
|
this.buildMethodThrows(methodElement, logId, throwComments, !errorComments.isEmpty(), sigModel);
|
||||||
this.buildMethodErrors(methodElement, logId, errorComments, sigModel);
|
this.buildMethodErrors(methodElement, logId, errorComments, sigModel);
|
||||||
this.buildMethodReturns(methodElement, logId, sigModel);
|
this.buildMethodReturns(methodElement, logId, sigModel);
|
||||||
@ -222,6 +228,9 @@ class MarkdownWriter {
|
|||||||
|
|
||||||
private void buildTagModel(DocTree tag, String logId,
|
private void buildTagModel(DocTree tag, String logId,
|
||||||
Map<String, String> paramComments,
|
Map<String, String> paramComments,
|
||||||
|
Map<String, String> fieldComments,
|
||||||
|
Map<String, String> varInComments,
|
||||||
|
Map<String, String> varOutComments,
|
||||||
Map<String, String> throwComments,
|
Map<String, String> throwComments,
|
||||||
Map<String, String> errorComments,
|
Map<String, String> errorComments,
|
||||||
JavadocTaggable sigModel) {
|
JavadocTaggable sigModel) {
|
||||||
@ -246,6 +255,33 @@ class MarkdownWriter {
|
|||||||
paramComments.put(matcher.group(1), this.sanitize(matcher.group(2).trim()));
|
paramComments.put(matcher.group(1), this.sanitize(matcher.group(2).trim()));
|
||||||
else this.logger.warn("A @param for the {} bean and {} method is improperly formatted", logId);
|
else this.logger.warn("A @param for the {} bean and {} method is improperly formatted", logId);
|
||||||
return;
|
return;
|
||||||
|
case "field":
|
||||||
|
if (fieldComments == null)
|
||||||
|
break;
|
||||||
|
|
||||||
|
matcher = this.namedCommentPattern.matcher(tagComment);
|
||||||
|
if (matcher.find())
|
||||||
|
fieldComments.put(matcher.group(1), this.sanitize(matcher.group(2).trim()));
|
||||||
|
else this.logger.warn("A @field for the {} bean and {} method is improperly formatted", logId);
|
||||||
|
return;
|
||||||
|
case "varIn":
|
||||||
|
if (varInComments == null)
|
||||||
|
break;
|
||||||
|
|
||||||
|
matcher = this.namedCommentPattern.matcher(tagComment);
|
||||||
|
if (matcher.find())
|
||||||
|
varInComments.put(matcher.group(1), this.sanitize(matcher.group(2).trim()));
|
||||||
|
else this.logger.warn("A @field for the {} bean and {} method is improperly formatted", logId);
|
||||||
|
return;
|
||||||
|
case "varOut":
|
||||||
|
if (varOutComments == null)
|
||||||
|
break;
|
||||||
|
|
||||||
|
matcher = this.namedCommentPattern.matcher(tagComment);
|
||||||
|
if (matcher.find())
|
||||||
|
varOutComments.put(matcher.group(1), this.sanitize(matcher.group(2).trim()));
|
||||||
|
else this.logger.warn("A @field for the {} bean and {} method is improperly formatted", logId);
|
||||||
|
return;
|
||||||
case "throws":
|
case "throws":
|
||||||
if (throwComments == null)
|
if (throwComments == null)
|
||||||
break;
|
break;
|
||||||
@ -295,6 +331,45 @@ class MarkdownWriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void buildMethodFields(ExecutableElement methodElement, String logId,
|
||||||
|
Map<String, String> fieldComments, MethodSignatureFreemarkerModel sigModel) {
|
||||||
|
for (Entry<String, String> fieldComment : fieldComments.entrySet()) {
|
||||||
|
this.logger.trace("Found BPMN field '{}' for '{}'", fieldComment.getKey(), logId);
|
||||||
|
|
||||||
|
FieldFreemarkerModel fieldModel = new FieldFreemarkerModel();
|
||||||
|
fieldModel.setName(fieldComment.getKey());
|
||||||
|
fieldModel.setComment(fieldComment.getValue());
|
||||||
|
|
||||||
|
sigModel.getBpmnFields().put(fieldModel.getName(), fieldModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buildMethodVariablesIn(ExecutableElement methodElement, String logId,
|
||||||
|
Map<String, String> varComments, MethodSignatureFreemarkerModel sigModel) {
|
||||||
|
for (Entry<String, String> varComment : varComments.entrySet()) {
|
||||||
|
this.logger.trace("Found input variable '{}' for '{}'", varComment.getKey(), logId);
|
||||||
|
|
||||||
|
VarFreemarkerModel varModel = new VarFreemarkerModel();
|
||||||
|
varModel.setName(varComment.getKey());
|
||||||
|
varModel.setComment(varComment.getValue());
|
||||||
|
|
||||||
|
sigModel.getVariablesIn().put(varModel.getName(), varModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buildMethodVariablesOut(ExecutableElement methodElement, String logId,
|
||||||
|
Map<String, String> varComments, MethodSignatureFreemarkerModel sigModel) {
|
||||||
|
for (Entry<String, String> varComment : varComments.entrySet()) {
|
||||||
|
this.logger.trace("Found output variable '{}' for '{}'", varComment.getKey(), logId);
|
||||||
|
|
||||||
|
VarFreemarkerModel varModel = new VarFreemarkerModel();
|
||||||
|
varModel.setName(varComment.getKey());
|
||||||
|
varModel.setComment(varComment.getValue());
|
||||||
|
|
||||||
|
sigModel.getVariablesIn().put(varModel.getName(), varModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void buildMethodThrows(ExecutableElement methodElement, String logId,
|
private void buildMethodThrows(ExecutableElement methodElement, String logId,
|
||||||
Map<String, String> throwComments, boolean hasBpmnErrorComments, MethodSignatureFreemarkerModel sigModel) {
|
Map<String, String> throwComments, boolean hasBpmnErrorComments, MethodSignatureFreemarkerModel sigModel) {
|
||||||
for (TypeMirror thrownType : methodElement.getThrownTypes()) {
|
for (TypeMirror thrownType : methodElement.getThrownTypes()) {
|
||||||
|
@ -25,6 +25,12 @@ public class MethodSignatureFreemarkerModel implements JavadocDocumentable, Java
|
|||||||
|
|
||||||
private Map<String, ParamFreemarkerModel> params = new LinkedHashMap<>();
|
private Map<String, ParamFreemarkerModel> params = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
private Map<String, FieldFreemarkerModel> bpmnFields = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
private Map<String, VarFreemarkerModel> variablesIn = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
private Map<String, VarFreemarkerModel> variablesOut = new LinkedHashMap<>();
|
||||||
|
|
||||||
private String returnType;
|
private String returnType;
|
||||||
|
|
||||||
private Map<String, ThrowFreemarkerModel> throwTypes = new LinkedHashMap<>();
|
private Map<String, ThrowFreemarkerModel> throwTypes = new LinkedHashMap<>();
|
||||||
@ -55,6 +61,30 @@ public class MethodSignatureFreemarkerModel implements JavadocDocumentable, Java
|
|||||||
this.params = params;
|
this.params = params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, FieldFreemarkerModel> getBpmnFields() {
|
||||||
|
return bpmnFields;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBpmnFields(Map<String, FieldFreemarkerModel> fields) {
|
||||||
|
this.bpmnFields = fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, VarFreemarkerModel> getVariablesIn() {
|
||||||
|
return variablesIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVariablesIn(Map<String, VarFreemarkerModel> variablesIn) {
|
||||||
|
this.variablesIn = variablesIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, VarFreemarkerModel> getVariablesOut() {
|
||||||
|
return variablesOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVariablesOut(Map<String, VarFreemarkerModel> variablesOut) {
|
||||||
|
this.variablesOut = variablesOut;
|
||||||
|
}
|
||||||
|
|
||||||
public String getReturnType() {
|
public String getReturnType() {
|
||||||
return returnType;
|
return returnType;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package com.inteligr8.activiti.doclet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author brian@inteligr8.com
|
||||||
|
*/
|
||||||
|
public class VarFreemarkerModel {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String comment;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -80,27 +80,42 @@ This bean and its methods may be used in any "Expression" field or script in a S
|
|||||||
<#if sig.docBody??>${sig.docBody}<#else>No documentation available.</#if>
|
<#if sig.docBody??>${sig.docBody}<#else>No documentation available.</#if>
|
||||||
|
|
||||||
<#if (sig.params?size > 0)>
|
<#if (sig.params?size > 0)>
|
||||||
| Parameter Name | Java Type | Documentation |
|
| Input Type | Name | Java Type | Documentation |
|
||||||
| ------------------------ | ------------------------------------------------ | ------------------------ |
|
| ------------------------ | ------------------------ | ------------------------------------------------ | ---------------------------------- |
|
||||||
<#list sig.params as paramName, param>
|
<#list sig.params as paramName, param>
|
||||||
| ${("`" + paramName + "`")?right_pad(24)} | ${("`" + param.type + "`")?right_pad(48)} | <#if (param.comment?? && param.comment?length > 0)>${param.comment?right_pad(24)}<#else>No documentation available.</#if> |
|
| Method Parameter | ${("`" + paramName + "`")?right_pad(24)} | ${("`" + param.type + "`")?right_pad(48)} | <#if (param.comment?? && param.comment?length > 0)>${param.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
</#list>
|
</#list>
|
||||||
|
<#if (sig.bpmnFields?size > 0)>
|
||||||
|
<#list sig.bpmnFields as fieldName, field>
|
||||||
|
| BPMN Field | ${("`" + fieldName + "`")?right_pad(48)} | ${("")?right_pad(48)} | <#if (field.comment?? && field.comment?length > 0)>${field.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<#if (sig.variablesIn?size > 0)>
|
||||||
|
<#list sig.variablesIn as varName, var>
|
||||||
|
| Variable | ${("`" + varName + "`")?right_pad(48)} | ${("")?right_pad(48)} | <#if (var.comment?? && var.comment?length > 0)>${var.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
|
||||||
</#if>
|
</#if>
|
||||||
<#if (sig.returnType?? || sig.throwTypes?size > 0)>
|
<#if (sig.returnType?? || sig.throwTypes?size > 0)>
|
||||||
| Result Type | Java Type or BPMN Error Code | Documentation |
|
| Result Type | Java Type, Name, or Error Code | Documentation |
|
||||||
| ------------------------ | ------------------------------------------------ | ------------------------ |
|
| ------------------------ | ------------------------------------------------ | -------------------------------- |
|
||||||
<#if sig.returnType??>
|
<#if sig.returnType??>
|
||||||
| Return Value | ${("`" + sig.returnType + "`")?right_pad(48)} | <#if (sig.tags.return?? && sig.tags.return[0]?length > 0)>${sig.tags.return[0]?right_pad(24)}<#else>No documentation available.</#if> |
|
| Return Value | ${("`" + sig.returnType + "`")?right_pad(48)} | <#if (sig.tags.return?? && sig.tags.return[0]?length > 0)>${sig.tags.return[0]?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
|
</#if>
|
||||||
|
<#if (sig.variablesOut?size > 0)>
|
||||||
|
<#list sig.variablesOut as varName, var>
|
||||||
|
| Variable | ${("`" + varName + "`")?right_pad(48)} | <#if (var.comment?? && var.comment?length > 0)>${var.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
|
</#list>
|
||||||
</#if>
|
</#if>
|
||||||
<#if (sig.throwTypes?size > 0)>
|
<#if (sig.throwTypes?size > 0)>
|
||||||
<#list sig.throwTypes as throwType, throw>
|
<#list sig.throwTypes as throwType, throw>
|
||||||
| Thrown Exception | ${("`" + throwType + "`")?right_pad(48)} | <#if (throw.comment?? && throw.comment?length > 0)>${throw.comment?right_pad(24)}<#else>No documentation available.</#if> |
|
| Thrown Exception | ${("`" + throwType + "`")?right_pad(48)} | <#if (throw.comment?? && throw.comment?length > 0)>${throw.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
</#list>
|
</#list>
|
||||||
</#if>
|
</#if>
|
||||||
<#if (sig.bpmnErrors?size > 0)>
|
<#if (sig.bpmnErrors?size > 0)>
|
||||||
<#list sig.bpmnErrors as errorCode, bpmnError>
|
<#list sig.bpmnErrors as errorCode, bpmnError>
|
||||||
| Thrown BPMN Error | ${("`" + errorCode + "`")?right_pad(48)} | <#if (bpmnError.comment?? && bpmnError.comment?length > 0)>${bpmnError.comment?right_pad(24)}<#else>No documentation available.</#if> |
|
| Thrown BPMN Error | ${("`" + errorCode + "`")?right_pad(48)} | <#if (bpmnError.comment?? && bpmnError.comment?length > 0)>${bpmnError.comment?right_pad(32)}<#else>No documentation available.</#if> |
|
||||||
</#list>
|
</#list>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user