Interface CodeLensSupplier<T extends CodeLensData>
- Type Parameters:
T
- Конкретный тип для данных линзы.
- All Known Implementing Classes:
AbstractMethodComplexityCodeLensSupplier
,AbstractRunTestsCodeLensSupplier
,CognitiveComplexityCodeLensSupplier
,CyclomaticComplexityCodeLensSupplier
,RunAllTestsCodeLensSupplier
,RunTestCodeLensSupplier
CodeLensProvider
данными о доступных в документе линзах.
Для целей улучшения производительности шаги получения линз документа и их "разрешение"
(создание объекта CodeLens.setCommand(Command)
) должно проводиться в два этапа.
Для хранения промежуточных данных между созданием и разрешением линзы необходимо использовать
поле CodeLens.setData(Object)
, заполняя его объектом класса
getCodeLensDataClass()
.
Конкретный сапплаер может расширить состав данных, хранимые в линзе, доопределив дата-класс,
наследующий CodeLensData
, и указав его тип в качестве типа-параметра класса.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionПолучить класс для хранения данных линзы.getCodeLenses
(DocumentContext documentContext) Получить список линз, доступных в документе.default String
getId()
Идентификатор сапплаера.default boolean
isApplicable
(DocumentContext documentContext) Возвращает необходимость применения сапплаера на конкретном документе.default CodeLens
resolve
(DocumentContext documentContext, CodeLens unresolved, T data) Выполнить операцию "разрешения" линзы.
-
Field Details
-
CODE_LENS_SUPPLIER_SUFFIX
- See Also:
-
-
Method Details
-
getId
Идентификатор сапплаера. Если линза содержит полеCodeLens.getData()
, идентификатор в данных линзы должен совпадать с данным идентификатором.- Returns:
- Идентификатор сапплаера.
-
isApplicable
Возвращает необходимость применения сапплаера на конкретном документе.- Parameters:
documentContext
- Документ.- Returns:
- Необходимость применения.
-
getCodeLenses
Получить список линз, доступных в документе.Предпочтительно, чтобы линзы, возвращаемые этим методом были "не-разрешенными"
- Parameters:
documentContext
- Документ, для которого надо рассчитать линзы.- Returns:
- Список линз.
-
getCodeLensDataClass
Получить класс для хранения данных линзы.При создании не-разрешенной линзы поле
CodeLens.setData(Object)
должно заполняться объектом данного класса.- Returns:
- Конкретный класс для хранения данных линзы.
-
resolve
Выполнить операцию "разрешения" линзы.По умолчанию линза возвращается не-разрешенной.
- Parameters:
documentContext
- Документ, которому принадлежит линза.unresolved
- Линза, которую надо разрешить.data
- Десериализованные данные линзы.- Returns:
- Разрешенная линза (с заполненным полем
CodeLens.getCommand()
)
-