Class NodeGroupConfigurationProvider

java.lang.Object
eu.cloudnetservice.node.impl.provider.NodeGroupConfigurationProvider
All Implemented Interfaces:
eu.cloudnetservice.driver.provider.GroupConfigurationProvider

@Singleton @Provides(eu.cloudnetservice.driver.provider.GroupConfigurationProvider.class) public class NodeGroupConfigurationProvider extends Object implements eu.cloudnetservice.driver.provider.GroupConfigurationProvider
  • Field Details

    • OLD_GROUPS_FILE

      private static final Path OLD_GROUPS_FILE
    • GROUP_DIRECTORY_PATH

      private static final Path GROUP_DIRECTORY_PATH
    • LIST_DOCUMENT_TYPE

      private static final Type LIST_DOCUMENT_TYPE
    • TYPE

      private static final Type TYPE
    • eventManager

      private final eu.cloudnetservice.driver.event.EventManager eventManager
    • groupConfigurations

      private final Map<String, eu.cloudnetservice.driver.service.GroupConfiguration> groupConfigurations
  • Constructor Details

    • NodeGroupConfigurationProvider

      @Inject public NodeGroupConfigurationProvider(@NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory, @NonNull @NonNull eu.cloudnetservice.node.cluster.sync.DataSyncRegistry syncRegistry, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry)
  • Method Details

    • loadGroups

      @Inject private void loadGroups()
    • registerChannelMessageListener

      @Inject private void registerChannelMessageListener()
    • reload

      public void reload()
      Specified by:
      reload in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • groupConfigurations

      @NonNull public @NonNull @UnmodifiableView Collection<eu.cloudnetservice.driver.service.GroupConfiguration> groupConfigurations()
      Specified by:
      groupConfigurations in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • groupConfiguration

      @Nullable public @Nullable eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration(@NonNull @NonNull String name)
      Specified by:
      groupConfiguration in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • addGroupConfiguration

      public boolean addGroupConfiguration(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
      Specified by:
      addGroupConfiguration in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • removeGroupConfigurationByName

      public void removeGroupConfigurationByName(@NonNull @NonNull String name)
      Specified by:
      removeGroupConfigurationByName in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • removeGroupConfiguration

      public void removeGroupConfiguration(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
      Specified by:
      removeGroupConfiguration in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • reloadAsync

      @NonNull public @NonNull CompletableFuture<Void> reloadAsync()
      Specified by:
      reloadAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • groupConfigurationsAsync

      @NonNull public @NonNull CompletableFuture<Collection<eu.cloudnetservice.driver.service.GroupConfiguration>> groupConfigurationsAsync()
      Specified by:
      groupConfigurationsAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • groupConfigurationAsync

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.service.GroupConfiguration> groupConfigurationAsync(@NonNull @NonNull String name)
      Specified by:
      groupConfigurationAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • addGroupConfigurationAsync

      @NonNull public @NonNull CompletableFuture<Boolean> addGroupConfigurationAsync(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
      Specified by:
      addGroupConfigurationAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • removeGroupConfigurationByNameAsync

      @NonNull public @NonNull CompletableFuture<Void> removeGroupConfigurationByNameAsync(@NonNull @NonNull String name)
      Specified by:
      removeGroupConfigurationByNameAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • removeGroupConfigurationAsync

      @NonNull public @NonNull CompletableFuture<Void> removeGroupConfigurationAsync(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
      Specified by:
      removeGroupConfigurationAsync in interface eu.cloudnetservice.driver.provider.GroupConfigurationProvider
    • addGroupConfigurationSilently

      public void addGroupConfigurationSilently(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
    • removeGroupConfigurationSilently

      public void removeGroupConfigurationSilently(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration groupConfiguration)
    • upgrade

      private void upgrade()
    • groupFile

      @NonNull protected @NonNull Path groupFile(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration configuration)
    • writeGroupConfiguration

      protected void writeGroupConfiguration(@NonNull @NonNull eu.cloudnetservice.driver.service.GroupConfiguration configuration)
    • writeAllGroupConfigurations

      protected void writeAllGroupConfigurations()
    • loadGroupConfigurations

      protected void loadGroupConfigurations()