Использование аннотаций, таких как интерфейс маркеров для Javadoc - PullRequest
1 голос
/ 06 апреля 2011

У меня есть несколько концептуально связанных классов, и я хочу пометить их аннотациями, чтобы я мог видеть список этих классов в javadoc.

Например, MyAPI предоставляет некоторые переменные состояния:

/**
 * Marker for the state types exposed by MyAPI
 */
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface MyAPIState {
}

И вот одно из этих состояний:

/**
 * Stores connection state.
 */
@MyAPIState
public class ConnectionState {
    public boolean isConnected(){...}
}

Если бы я использовал пустой интерфейс маркера для этих состояний (вместо аннотации), я бы легко увидел типы реализации.Но сгенерированный javadoc для MyAPIState не связан с типами, которые помечены им.

Можно ли сделать javadoc для отображения ссылок на связанные типы в javadoc аннотации?

1 Ответ

0 голосов
/ 06 апреля 2011

Насколько я знаю, такой функции нет для javadoc, если вы не хотите заменять доклет.

Вместо аннотаций вы можете попробовать использовать пользовательские теги Javadoc и объединить их с пользовательским тегом , который вы реализуете для этой цели.

Тогда это может выглядеть так:

/**
 * Marker for the state types exposed by MyAPI.
 * @linktarget
 */
public interface MyAPIState {
}

/**
 * Stores connection state.
 * @linkfrom MyApiState
 */
public class ConnectionState {
    public boolean isConnected(){...}
}
...