簡體   English   中英

eclipse中是否有一種方法可以使用getter和setter生成簡單的類

[英]Is there a way in eclipse to to generate a simple class with getters and setters

因此,基本上,我制作了很多類,它們只是一些邏輯信息的容器。

例如課本; 具有屬性ISBN,標題,作者; 具有所有屬性的getter和setter方法。

我知道eclipse可以自動生成getter和setter,但是a)不能正確地將屬性注釋復制到它們上,b)仍然很慢,因為鍵入所有屬性后,您必須右鍵單擊每個屬性並自動生成注釋。

我知道這很簡單,但是考慮到過去幾年來我可能花了幾天以上的時間,讓我想知道是否還有更好的選擇。

我在想象像向導的東西,您只有一個表,您可以在其中鍵入屬性類型,名稱和描述,並在是否允許為null,是否允許對其進行編輯以及是否希望將其為null之前打鈎。由構造函數填充,然后您將獲得一個包含所有正確注釋的類,用於檢查null的驗證調用以及getter和setter。

如果沒有,有沒有辦法我可以擴展Eclipse來做這樣的事情? 我可以構建自己的外部程序,但是在外部執行它似乎有些笨拙,然后每次都要更新Eclipse。

為了避免重復文檔(如果這是您要達到的目的),我使用:

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

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

您可以使用以下注釋模板讓eclipse自動生成它:

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

您可以使用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();

有更多可用的選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM