当前位置: 首页 > news >正文

培训学校网站系统wordpress博客视频教程

培训学校网站系统,wordpress博客视频教程,北京网站建设有哪些浩森宇特,中企建设网站很多人正在使用JavaParser实现最不同的目标。 其中之一是提取文档。 在这篇简短的文章中#xff0c;我们将看到如何打印与类或接口关联的所有JavaDoc注释。 可以在GitHub上找到代码#xff1a; https : //github.com/ftomassetti/javadoc-extractor 获取类的所有Javadoc注释… 很多人正在使用JavaParser实现最不同的目标。 其中之一是提取文档。 在这篇简短的文章中我们将看到如何打印与类或接口关联的所有JavaDoc注释。 可以在GitHub上找到代码 https : //github.com/ftomassetti/javadoc-extractor 获取类的所有Javadoc注释 我们正在重用DirExplorer在提出了支持类的介绍JavaParser类 。 此类允许递归处理目录解析其中包含的所有Java文件。 我们可以从遍历所有类开始然后找到相关的Javadoc注释。 /*** Iterate over the classes and print their Javadoc.*/ public class ClassesJavadocExtractor {public static void main(String[] args) {File projectDir new File(source_to_parse/);new DirExplorer((level, path, file) - path.endsWith(.java), (level, path, file) - {try {new VoidVisitorAdapterObject() {Overridepublic void visit(ClassOrInterfaceDeclaration n, Object arg) {super.visit(n, arg);if (n.getComment() ! null n.getComment() instanceof JavadocComment) {String title String.format(%s (%s), n.getName(), path);System.out.println(title);System.out.println(Strings.repeat(, title.length()));System.out.println(n.getComment());}}}.visit(JavaParser.parse(file), null);} catch (IOException e) {new RuntimeException(e);}}).explore(projectDir);}} 如您所见获取JavaDoc注释非常容易。 它产生以下结果 ASTParserConstants (/javaparser/javaparser-core/target/generated-sources/javacc/com/github/javaparser/ASTParserConstants.java)/*** Token literal values and constants.* Generated by org.javacc.parser.OtherFilesGen#start()*/ParseException (/javaparser/javaparser-core/target/generated-sources/javacc/com/github/javaparser/ParseException.java)/*** This exception is thrown when parse errors are encountered.* You can explicitly create objects of this exception type by* calling the method generateParseException in the generated* parser.** You can modify this class to customize your error reporting* mechanisms so long as you retain the public fields.*/ASTParser (/javaparser/javaparser-core/target/generated-sources/javacc/com/github/javaparser/ASTParser.java)/*** This class was generated automatically by javacc, do not edit.*/ ASTParserTokenManager (/javaparser/javaparser-core/target/generated-sources/javacc/com/github/javaparser/ASTParserTokenManager.java) /** Token Manager. */获取所有Javadoc注释并找到记录的元素 在其他情况下我们可能要开始收集所有Javadoc注释然后找到要注释的元素。 我们也可以使用Javaparser轻松做到这一点 /*** Iterate over all the Javadoc comments and print them together with a description of the commented element.*/ public class AllJavadocExtractor {public static void main(String[] args) {File projectDir new File(source_to_parse/);new DirExplorer((level, path, file) - path.endsWith(.java), (level, path, file) - {try {new VoidVisitorAdapterObject() {Overridepublic void visit(JavadocComment comment, Object arg) {super.visit(comment, arg);String title null;if (comment.getCommentedNode().isPresent()) {title String.format(%s (%s), describe(comment.getCommentedNode().get()), path);} else {title String.format(No element associated (%s), path);}System.out.println(title);System.out.println(Strings.repeat(, title.length()));System.out.println(comment);}}.visit(JavaParser.parse(file), null);} catch (IOException e) {new RuntimeException(e);}}).explore(projectDir);}private static String describe(Node node) {if (node instanceof MethodDeclaration) {MethodDeclaration methodDeclaration (MethodDeclaration)node;return Method methodDeclaration.getDeclarationAsString();}if (node instanceof ConstructorDeclaration) {ConstructorDeclaration constructorDeclaration (ConstructorDeclaration)node;return Constructor constructorDeclaration.getDeclarationAsString();}if (node instanceof ClassOrInterfaceDeclaration) {ClassOrInterfaceDeclaration classOrInterfaceDeclaration (ClassOrInterfaceDeclaration)node;if (classOrInterfaceDeclaration.isInterface()) {return Interface classOrInterfaceDeclaration.getName();} else {return Class classOrInterfaceDeclaration.getName();}}if (node instanceof EnumDeclaration) {EnumDeclaration enumDeclaration (EnumDeclaration)node;return Enum enumDeclaration.getName();}if (node instanceof FieldDeclaration) {FieldDeclaration fieldDeclaration (FieldDeclaration)node;ListString varNames fieldDeclaration.getVariables().stream().map(v - v.getName().getId()).collect(Collectors.toList());return Field String.join(, , varNames);}return node.toString();}} 在这里大多数代码都是关于为注释节点提供描述的方法describe 。 结论 操作AST并找到Javadoc注释非常容易。 但是缺少的一项功能是可以以结构化形式提取Javadoc中包含的信息。 例如您可能只想获取与某个参数或返回值关联的Javadoc部分。 Javaparser当前不具有此功能但是我正在研究此功能应该在接下来的1-2周内将其合并。 如果要关注开发请查看问题433 。 感谢您的阅读和愉快的解析 翻译自: https://www.javacodegeeks.com/2017/01/extracting-javadoc-documentation-source-files-using-javaparser.html
http://www.huolong8.cn/news/179763/

相关文章:

  • 网站建设调研背景正规网站建设排行
  • 如何增加网站的流量做网站多
  • 台州卫浴网站建设中国建设银行网站会员用户名
  • 我想注册网站怎么做深圳网站制作公司流程
  • centos做网站服务器想做网站选什么专业
  • 南宁网站制作策划网站开发哪种框架
  • php做网站难吗小程序制作方案
  • 建网站需要什么人前端seo搜索引擎优化
  • 自助建设响应式网站php实战做网站视频教程
  • 滕州个人兼职做网站企业做网站的凭证怎么做
  • 淮南 搭建一个企业展示网站零基础短视频制作培训
  • 目前流行的网站开发设计大型网站的制作
  • 网站建设需求文档下载wordpress 酷狗
  • 中国建设银行个人登陆网站网站建设的案例
  • 企业网站建设与推广营销型网站的标准
  • 如何修改网站建设银行网站怎么开通短信服务
  • 提供网站建设公司东莞网站建设外贸
  • 东莞做网站推广的公司网站推广软件免费下载
  • 张家港网站制作企优劳务公司简介模板
  • 合肥晚报社官方网站一个域名两个网站
  • 文化礼堂建设情况网站网站建设500元
  • 地方网站做相亲赢利点在哪里微信公众平台申请入口
  • 做直播网站需要多少钱网站建设报价新鸿儒
  • html网站模板免费招聘网络营销推广人员
  • 承德网站制作多少钱选择锦州网站建设
  • 定制网站和模板网站有何区别网站开发培训心得
  • 顶尖网站建设公司陕西交通建设集团蓝商公司网站
  • 建设心理网站的背景ppt模板免费下载素材库
  • 沧州商贸行业网站建设简单的wordpress主题
  • 云主机可以做多少网站空间小程序搭建需要多久