2011-07-01 15 views
59

Tôi đang viết javadoc cho một lớp có chứa enums riêng của nó. Có cách nào để tạo ra javadoc cho enums cá nhân? Ví dụ, ngay bây giờ tôi có một cái gì đó như thế này:Làm thế nào để Javadoc một Enums cá nhân của Class

/** 
* This documents "HairColor" 
*/ 
private static enum HairColor { BLACK, BLONDE, BROWN, OTHER, RED }; 

Tuy nhiên, chỉ có các văn bản này tất cả các enums như một toàn thể:

The generated Javadoc

Có cách nào để ghi lại mỗi HairColor giá trị riêng lẻ? Nếu không di chuyển enum vào lớp riêng của nó hoặc thay đổi nó từ một enum?

Cảm ơn trước vì đã được trợ giúp.

+0

Vì tò mò, tại sao bạn muốn? Bạn có enum liệt kê như là một 'private' lồng nhau enum, do đó, người dùng của lớp của bạn không thể sử dụng enum hoặc giá trị của nó anyway. Và nếu nó có nghĩa là được công khai và độc lập hơn so với những gì lớn trong tài liệu nó như là đơn vị riêng của mình? –

+1

Trong mã thực tế của tôi, nó là công khai. Và bạn biết các tiêu chuẩn của công ty có thể như thế nào. "Điều này sẽ tốt hơn" "Quá tệ, chúng tôi không biết gì về lập trình nghĩ bạn nên làm theo cách này". Lol –

+0

Đủ công bằng. Chỉ cần chắc chắn rằng bạn nói với họ rằng bản phát hành sẽ bị đẩy lùi lại một tuần vì các yêu cầu không thể khắc phục đối với tài liệu có thể sẽ không bao giờ được đọc. Điều đó thường làm cho đôi tai của ai đó quan tâm đến công việc kinh doanh. –

Trả lời

66

Bạn làm điều đó giống như bất kỳ biến số nào khác bạn sẽ javadoc.

 

/** 
* Colors that can be used 
*/ 
public enum Color 
{ 
    /** 
    * Red color 
    */ 
    red, 

    /** 
    * Blue color 
    */ 
    blue 

} 
 

EDIT:

Từ Paulo Ebermann: Các enum là một lớp riêng biệt. Bạn không thể bao gồm tài liệu đầy đủ của nó trong lớp kèm theo (ít nhất, mà không cần vá tài liệu chuẩn).

+1

Điều này tạo ra điều tương tự (chú ý liên kết trên ảnh chụp nhanh). Tôi đang tìm cách đặt chúng trực tiếp trong lớp javadoc (thay vì liên kết với một javadoc khác). Nhưng cảm ơn =) +1 để thúc đẩy mô tả sự cố. –

+4

@Rachel: Enum là một lớp riêng biệt. Bạn không thể bao gồm tài liệu đầy đủ của nó trong lớp kèm theo (ít nhất, mà không cần vá tài liệu chuẩn). –

+0

Vâng. Tôi đã lo lắng đó là cách mà sự liên kết đã xảy ra. Tôi đoán cách duy nhất để bao gồm các enums cá nhân sẽ là thay đổi nó thành một lớp bên trong và sau đó khai báo các đối tượng ở đó và javadoc chúng. –

40

Bạn có thể tạo liên kết đến từng mục của enum. Tất cả các mục sẽ được liệt kê trong javadocs vào lớp enum.

/** 
* Colors that can be used 
* <li>{@link #RED}</li> 
* <li>{@link #BLUE}</li> 
*/ 
public enum Color { 

    /** 
    * Red color 
    */ 
    RED, 

    /** 
    * Blue color 
    */ 
    BLUE 
} 
Các vấn đề liên quan