在eclipse中有没有办法用getter和setter生成一个简单的类

时间:2017-02-21 15:11:04

标签: java eclipse

基本上,我已经制作了很多课程,只是一些逻辑信息的容器。

E.g。班级书;有属性ISBN,标题,作者;所有房产都有吸气剂和固定剂。

我知道eclipse可以自动生成getter和setter,但是a)它没有正确地将属性注释复制到它们上面,b)它仍然很慢,因为在输入所有属性之后,你必须右键单击每个并自动生成注释。

我知道这是微不足道的,但考虑到我在过去几年中花了这么多天这么做,这让我想知道是否有更好的那里的选择。

我想象一个类似于向导的东西,你只需要一个表格,你可以输入你的属性类型,名称和描述,并勾选它是否允许为空,如果它是'允许编辑,如果你想让它由构造函数填充,然后你得到一个包含所有正确注释的类,验证调用以检查null,以及getter和setter。

如果没有,有没有办法可以延长eclipse来做这样的事情?我可以构建自己的外部程序,但是在外面执行它似乎有点笨拙,然后每次都要更新eclipse。

2 个答案:

答案 0 :(得分:1)

为了避免重复文档(如果这是你想要实现的),我使用:

/**
 * Represents the book title
 */
private String title;

/**
 * Get {@link #title}
 */
public String getTitle() {
    return title;
};

您可以使用以下注释模板自动生成eclipse:

/**
* Get {@link #${field}} 
*/

答案 1 :(得分:0)

您可以使用http://immutables.github.io/

它是一个生成Java类的注释处理器。你不需要任何插件来运行它。启用注释处理就足够了。

您创建了一个抽象,lib为您生成具体的实现。甚至相应的javadoc也会被复制到生成的类中。

例如,您必须创建如下界面:

import org.immutables.value.Value;
// Define abstract value type
@Value.Immutable
public interface ValueObject {
  String name();
  List<Integer> counts();
  Optional<String> description();
}

然后你像这样实例化它:

// Use generated immutable implementation
ValueObject valueObject =
    ImmutableValueObject.builder()
        .name("My value")
        .addCounts(1)
        .addCounts(2)
        .build();

还有更多选择。