Class BeanUsagesCodeLensSupplier
java.lang.Object
com.github._1c_syntax.bsl.languageserver.codelenses.BeanUsagesCodeLensSupplier
- All Implemented Interfaces:
CodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>
@Component
@Order(7)
public class BeanUsagesCodeLensSupplier
extends Object
implements CodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>
Обратная линза навигации по внедрению зависимостей «ОСени»: показывает, в скольких точках
внедряется объявленный желудь, и ведёт к этим точкам (
&Пластилин).
Линза ставится по производителю и показывается всегда, даже при нуле точек внедрения:
- на конструкторе — для компонентного желудя (
&Желудь/&Дуб); - на каждом фабричном методе
&Завязь— для производимого им желудя.
AutumnBeanIndex, точки внедрения — из
AutumnInjectionPointIndex.usagesOfComponent(URI, Set) / AutumnInjectionPointIndex.usagesOfFactoryMethod(URI, String, Set),
которые переигрывают выбор производителя на каждую точку (одиночное внедрение — только у
выбранного DI производителя, коллекция — у всех).-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classDTO обратной линзы — зеркалоBeanDefinition: имя метода-производителя и признак конструктора различают линзу компонентного желудя (на конструкторе) и линзу фабричного метода&Завязь. -
Field Summary
Fields inherited from interface CodeLensSupplier
CODE_LENS_SUPPLIER_SUFFIX -
Constructor Summary
ConstructorsConstructorDescriptionBeanUsagesCodeLensSupplier(Resources resources, AutumnBeanIndex beanIndex, AutumnNavigation autumnNavigation, NavigationCommandBuilder navigationCommandBuilder) -
Method Summary
Modifier and TypeMethodDescriptionПолучить класс для хранения данных линзы.getCodeLenses(DocumentContext documentContext) Получить список линз, доступных в документе.booleanisApplicable(DocumentContext documentContext) Возвращает необходимость применения сапплаера на конкретном документе.resolve(DocumentContext documentContext, CodeLens unresolved, BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData data) Выполнить операцию "разрешения" линзы.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CodeLensSupplier
getId
-
Constructor Details
-
Method Details
-
isApplicable
Description copied from interface:CodeLensSupplierВозвращает необходимость применения сапплаера на конкретном документе.- Specified by:
isApplicablein interfaceCodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>- Parameters:
documentContext- Документ.- Returns:
- Необходимость применения.
-
getCodeLenses
Description copied from interface:CodeLensSupplierПолучить список линз, доступных в документе.Предпочтительно, чтобы линзы, возвращаемые этим методом были "не-разрешенными"
- Specified by:
getCodeLensesin interfaceCodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>- Parameters:
documentContext- Документ, для которого надо рассчитать линзы.- Returns:
- Список линз.
-
resolve
public CodeLens resolve(DocumentContext documentContext, CodeLens unresolved, BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData data) Description copied from interface:CodeLensSupplierВыполнить операцию "разрешения" линзы.По умолчанию линза возвращается не-разрешенной.
- Specified by:
resolvein interfaceCodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>- Parameters:
documentContext- Документ, которому принадлежит линза.unresolved- Линза, которую надо разрешить.data- Десериализованные данные линзы.- Returns:
- Разрешенная линза (с заполненным полем
CodeLens.getCommand())
-
getCodeLensDataClass
Description copied from interface:CodeLensSupplierПолучить класс для хранения данных линзы.При создании не-разрешенной линзы поле
CodeLens.setData(Object)должно заполняться объектом данного класса.- Specified by:
getCodeLensDataClassin interfaceCodeLensSupplier<BeanUsagesCodeLensSupplier.BeanUsagesCodeLensData>- Returns:
- Конкретный класс для хранения данных линзы.
-