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
Fields -
Method Summary
Modifier and TypeMethodDescriptionПолучить класс для хранения данных линзы.getCodeLenses(DocumentContext documentContext) Получить список линз, доступных в документе.default StringgetId()Идентификатор сапплаера.default booleanisApplicable(DocumentContext documentContext) Возвращает необходимость применения сапплаера на конкретном документе.default CodeLensresolve(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())
-