簡體   English   中英

在Java中創建自定義注釋以強制使用大寫或小寫

[英]Creating Custom Annotation in Java to force UPPER or lower Case

通過在pojo字段中強制使用大寫或小寫,可以感謝您在JAVA中創建自定義注釋的任何幫助。 喜歡得到下面的東西

// CaseMode enum would be
public enum CaseMode {
   UPPER, LOWER;
}

@Target({ ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Case {
    // NEED HELP HERE
}

public class Customer {
    @Case(value=CaseMode.UPPER)
    private String fName; 
    { set; get; }
}

默認情況下,Customer Object中的setter方法應基於注釋強制將數據存儲在大寫或小寫中。 感謝獲得此幫助。

提前致謝

注釋是Java中的被動元素。 他們不能有任何行為。 正如@maba所說,您不能在注釋聲明內編寫任何代碼。

為了具有與您嘗試執行的操作類似的功能,您需要能夠檢測注釋並執行某些工作的操作。 您有幾種選擇。

編寫自定義的編譯時注釋處理器使您可以在編譯之前對源代碼進行預處理。

面向方面的編程既可以在編譯時運行,也可以在運行時運行。 它相對容易理解,但是需要與項目一起設置一些工具,具體取決於部署位置。

動態代理也很簡單,但是您需要更改代碼訪問對象的方式,可能是通過聲明一些接口並使用那些接口而不是類等來更改。

代碼生成庫位於復雜的范圍內,具有很大的靈活性(例如,它們是Hibernate如何對POJO對象進行魔術處理的)。

您的聲明// NEED HELP HERE應符合以下條件:

@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Case {
    CaseMode value();
}

如果您認為可以在其中包含一些代碼,那么您錯了。

暫無
暫無

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

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