zoukankan      html  css  js  c++  java
  • 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() );

  • 相关阅读:
    IT项目管理之系统规划
    项目经理感悟之风险管理
    IT项目管理之系统设计
    IT项目管理之系统验收
    IT项目管理之系统测试
    IT项目管理之系统部署
    大中小型项目管理的区别
    算法评测
    IT项目管理那些事儿
    应用算法的实际情况——简单就是美
  • 原文地址:https://www.cnblogs.com/LcxSummer/p/9670009.html
Copyright © 2011-2022 走看看