Class EventPublisherAspect

java.lang.Object
com.github._1c_syntax.bsl.languageserver.aop.EventPublisherAspect

public class EventPublisherAspect extends Object
Аспект подсистемы событий.

Каждый advice перехватывает какой-либо метод из недр продукта и генерирует соответствующее событие с помощью Spring Events.

Аспект является синглтоном AspectJ CTW — один экземпляр на всю JVM, независимо от количества Spring-контекстов. Регистрация publisher-ов выполняется через EventPublisherAspectRegistration, по одному на каждый Spring-контекст. При закрытии контекста происходит отмена регистрации, и аспект автоматически переключается на publisher следующего зарегистрированного контекста.

  • Constructor Details

    • EventPublisherAspect

      public EventPublisherAspect()
  • Method Details

    • languageServerConfigurationUpdated

      public void languageServerConfigurationUpdated(org.aspectj.lang.JoinPoint joinPoint)
    • globalLanguageServerConfigurationUpdated

      public void globalLanguageServerConfigurationUpdated(org.aspectj.lang.JoinPoint joinPoint)
    • documentContextRebuild

      public void documentContextRebuild(org.aspectj.lang.JoinPoint joinPoint)
    • documentContextRebound

      public void documentContextRebound(DocumentContext documentContext, boolean symbolTreeRebuilt)
    • serverContextPopulated

      public void serverContextPopulated(org.aspectj.lang.JoinPoint joinPoint, Collection<File> files)
    • configurationTypesRegistered

      public void configurationTypesRegistered(org.aspectj.lang.JoinPoint joinPoint, @Nullable ServerContext serverContext)
    • serverContextAddDocument

      public void serverContextAddDocument(org.aspectj.lang.JoinPoint joinPoint, URI uri)
    • serverContextRemoveDocument

      public void serverContextRemoveDocument(org.aspectj.lang.JoinPoint joinPoint, URI uri)
    • serverContextCloseDocument

      public void serverContextCloseDocument(org.aspectj.lang.JoinPoint joinPoint, DocumentContext documentContext)
    • serverContextTryClearDocument

      public void serverContextTryClearDocument(org.aspectj.lang.JoinPoint joinPoint, DocumentContext documentContext, boolean cleared)
    • languageServerInitialize

      public void languageServerInitialize(org.aspectj.lang.JoinPoint joinPoint, InitializeParams initializeParams)
    • clientInitialized

      public void clientInitialized(org.aspectj.lang.JoinPoint joinPoint)
    • workspaceAdded

      public void workspaceAdded(org.aspectj.lang.JoinPoint joinPoint, URI workspaceUri)
    • beforeWorkspaceRemoved

      public void beforeWorkspaceRemoved(org.aspectj.lang.JoinPoint joinPoint, WorkspaceFolder workspaceFolder)
    • workspaceRemoved

      public void workspaceRemoved(org.aspectj.lang.JoinPoint joinPoint, WorkspaceFolder workspaceFolder)
    • oscriptLibraryIndexed

      public void oscriptLibraryIndexed(org.aspectj.lang.JoinPoint joinPoint, ServerContext serverContext, List<Path> configs)