• Eclipse中自动生成get/set时携带注释给get/set


    Eclipse中自动生成get/set时携带注释给get/set

     编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclipse源码可解决。效果如下:

    1. /**  
    2.  * 员工ID  
    3.  */  
    4. private String userid;   
    5. /**  
    6.  * 获取员工ID  
    7.  * @return userid 员工ID  
    8.  */  
    9. public String getUserid() {   
    10.     return userid;   
    11. }   
    12. /**  
    13.  * 设置员工ID  
    14.  * @param userid 员工ID  
    15.  */  
    16. public void setUserid(String userid) {   
    17.     this.userid = userid;   
    18. }  

    解决方案如下:

    通过反编译技术,修改ECLIPSE的org.eclipse.jdt.ui_3.3.1.r331_v20070906.jar包中的
    org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil类
    下的getSetterStub及getGetterStub函数,来实现生成getter/setter时,注释使用成员的注释(如果成员的注释有的话,如果没有则使用注释模板生成,如果选择了生成getter/setter需要生成code comment的话)

    getSetterStub函数修改的地方为:
    将原:
      if(addComments)
      {
      String comment = CodeGeneration.getSetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), setterName, field.getElementName(), typeName, argname, accessorName, lineDelim);

    修改为:
      if(addComments)
      {
      String comment = CodeGeneration.getSetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), setterName, field.getElementName(), typeName, argname, accessorName, lineDelim);
      ISourceRange sr = field.getJavadocRange();
      if( null != sr )
      comment = field.getSource().substring( 0, sr.getLength() );


    getGetterStub函数修改的地方为:
    将原:
      if(addComments)
      {
      String comment = CodeGeneration.getGetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), getterName, field.getElementName(), typeName, accessorName, lineDelim);

    修改为:
      if(addComments)
      {
      String comment = CodeGeneration.getGetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), getterName, field.getElementName(), typeName, accessorName, lineDelim);
      ISourceRange sr = field.getJavadocRange();
      if( null != sr )
      comment = field.getSource().substring( 0, sr.getLength() );

  • 相关阅读:
    Fiddler配置代理hosts的方法
    Android利用Fiddler进行网络数据抓包
    Android键盘面板冲突 布局闪动处理方案
    View的三次measure,两次layout和一次draw
    jquery.fly.min.js 拋物插件
    js刷新页面方法大全
    Console命令详解,让调试js代码变得更简单
    div中的内容垂直居中的五种方法
    Struts2之i18N国际化
    maven阿里云中央仓库
  • 原文地址:https://www.cnblogs.com/LcxSummer/p/9670009.html
Copyright © 2020-2023  润新知