2013-10-24 44 views
7

Tôi hiện đang sử dụng chú thích do thư viện của bên thứ ba cung cấp và tôi tự hỏi liệu có cách nào tạo một chú thích bao bọc khác xung quanh nó để tôi không phải yêu cầu tất cả các tham số hay không.Tạo trình chú giải chú thích Java

Ví dụ tôi có thể sử dụng các chú thích thư viện như thế này:

@LibraryAnnotation(Parameter1, Parameter2, Parameter3) 

Nhưng trong trường hợp của tôi argument2 và parameter3 luôn luôn giống nhau vì vậy tôi muốn tạo ra một chú thích rằng sẽ chỉ mất trong argument1

@MyAnnotation(Parameter1) 

Nhưng sẽ gọi chú thích khác với tất cả Tham số, tương tự như cách bạn có thể tạo trình bao bọc cho phương thức của bên thứ ba.

Trả lời

1

Chú thích khá hạn chế. Thật không may, tôi không nhìn thấy một cách, nhưng tôi có thể sai.

+0

đánh dấu của bạn là câu trả lời vì tôi vẫn chưa tìm ra cách để làm điều đó. Tôi không nghĩ là có thể. – user1751547

0

Theo như tôi biết, có hai tùy chọn có thể được đang được sử dụng để làm điều này:

  • Sử dụng công cụ Daileon (http://daileon.sourceforge.net/) - vì nó là nhiều hơn một công cụ thử nghiệm, khả năng sử dụng của nó là một chút rườm rà
  • Sử dụng Aspect-Oriented Programming và Inter-type khai báo để tiêm một chú thích mới, ví dụ:

    declare @type : @MyAnnotation package.* : @LibraryAnnotation(..);

Tuy nhiên, cả hai tùy chọn đều khá hạn chế.

0

Bạn có thể chú thích chú thích của mình với chú thích cơ sở như trong mẫu này:

@Target(value = {ElementType.TYPE}) 
@Page(method3="someValue") 
public @interface Move { 
String method1(); 
String method2(); 
} 

@Target(value = {ElementType.ANNOTATION_TYPE}) 
public @interface Page{ 
String method3(); 
} 
Các vấn đề liên quan