2011-11-06 27 views

回答

3

GWT 2.4引入了RequestFactory框架並提供了JSR-269註釋處理器來驗證使用RequestFactory的項目,請參閱this page

1

Blaze CBAV(基於約束的註釋驗證)仍在開發中,但已經能夠進行一些奇特的編譯時驗證。基本上,您可以使用該庫在註釋中添加元信息,以根據您自己的條件生成編譯器錯誤。

預定義了一些有用的默認約束,但您也可以通過實現驗證器來定義自己的約束,並通過約束註釋將約束綁定到您自己的約束上。當你想使用自己的約束時,驗證器的實現必須以編譯的形式出現在你的類路徑中,所以你可能想要將它封裝起來。給它一個嘗試和探索的可能性;)

例如,你可以在一個類中,一旦確保註釋的給定值僅發生:

public @interface MyAnnotation{ 
    @UniqueValueConstraint(scope=ConstraintScope.CLASS, errorMessage="This value must be unique within class level!") 
    String value(); 
} 

public class MyClass{ 
    @MyAnnotation("test") 
    void test1(){} 
    @MyAnnotation("test") 
    void test2(){} // Compiler error with your message ;) 
} 

您可以在Github上的項目: https://github.com/Blazebit/blaze-cbav

5

Dagger用他們自己的話來說是Android和Java的快速依賴注入器。 Dagger包含一個註釋處理器,用於驗證模塊和注入。此處理器是嚴格的,如果綁定無效或不完整,將導致編譯器錯誤。

0

Google的Auto項目使用JSR-269生成不可變的值類型等等。他們還提供了一個庫,可以更容易地編寫自己的註釋處理器。

1

MapStruct是一個基於JSR 269的代碼生成器,用於類型安全的bean映射。

相關問題