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(JoinPoint joinPoint)
    • globalLanguageServerConfigurationUpdated

      public void globalLanguageServerConfigurationUpdated(JoinPoint joinPoint)
    • documentContextRebuild

      public void documentContextRebuild(JoinPoint joinPoint)
    • serverContextPopulated

      public void serverContextPopulated(JoinPoint joinPoint, Collection<File> files)
    • serverContextAddDocument

      public void serverContextAddDocument(JoinPoint joinPoint, URI uri)
    • serverContextRemoveDocument

      public void serverContextRemoveDocument(JoinPoint joinPoint, URI uri)
    • serverContextCloseDocument

      public void serverContextCloseDocument(JoinPoint joinPoint, DocumentContext documentContext)
    • languageServerInitialize

      public void languageServerInitialize(JoinPoint joinPoint, InitializeParams initializeParams)
    • workspaceAdded

      public void workspaceAdded(JoinPoint joinPoint, URI workspaceUri, ServerContext serverContext)
    • beforeWorkspaceRemoved

      public void beforeWorkspaceRemoved(JoinPoint joinPoint, WorkspaceFolder workspaceFolder)
    • workspaceRemoved

      public void workspaceRemoved(JoinPoint joinPoint, WorkspaceFolder workspaceFolder)