【发布时间】:2015-07-15 14:53:24
【问题描述】:
我有一个接口定义为:
public interface IDomainEntity {
/**
* @return
* A serialized form of the class Object.
* Follows the format:<br/><br/>
* <pre class="brush: java">
* {@code
* public String getPropertiesString() {
* String resultString = new StringBuilder()
* .append( String.valueOf(this.getClass().getSimpleName()) + "@" + Integer.toHexString(this.hashCode()) + " {" )
* .append( " ${property}: '" + String.valueOf(this.${property}) + "'," )
* //... above line repeated N-1 times for N properties (${property})...
* .append( " }" );
* .toString();
*
* resultString = resultString.replace(", }", " }");
* return resultString;
* }
* </pre>
*/
public String getPropertiesString();
}
我能做些什么来使Eclipse 到auto-generate 方法的内容与我在javadoc 评论中的内容一致,扩展该类的所有直接属性(我不关心@987654325 inheritance 的 @ 属性)。
目前,Eclipse 会给我:
@Override
public String getPropertiesString() {
// TODO Auto-generated method stub
return null;
}
来自Java Code Style >> Code Templates >> Code >> Method body (JDT),但我正在寻找特定于 1 interface 的内容以及由此产生的 domain class implements 它.
仅供参考,我希望避免使用aspects 或reflection 来获取类的所有属性的任何解决方案。
谢谢!
【问题讨论】:
-
...实现类可以以任何他们想要的方式实现它的接口/抽象方法的全部意义不在于?
-
@Powerlord:通常是这样,但是,由于这是我们团队的私有应用程序,因此我们控制每个接口的所有实现。我并不是说实现最终必须具有与
javadoc示例相同的代码 100%,但我想看看是否有一种方法可以预先生成实现(如果输出略有不同,则可以对其进行修改是需要的),我认为它可能必须是特定于 IDE 的,但我不知道,因为我还没有看到这样做的方法。
标签: java eclipse interface code-generation