Class HierarchicalUsagePropertyProvider

java.lang.Object
org.axonframework.update.configuration.HierarchicalUsagePropertyProvider
All Implemented Interfaces:
UsagePropertyProvider

@Internal public class HierarchicalUsagePropertyProvider extends Object implements UsagePropertyProvider
Combines multiple UsagePropertyProvider instances into a single provider. It will return the first non-null value for each property from the list of providers, sorted by their priority.
Since:
5.0.0
Author:
Mitchell Herrijgers
  • Constructor Details

    • HierarchicalUsagePropertyProvider

      public HierarchicalUsagePropertyProvider(@Nonnull List<UsagePropertyProvider> providers)
      Creates a new HierarchicalUsagePropertyProvider with the given list of providers. The providers will be sorted by their priority in descending order, meaning the highest priority provider will be checked first.
      Parameters:
      providers - The list of UsagePropertyProvider instances to combine.
  • Method Details

    • getDisabled

      public Boolean getDisabled()
      Description copied from interface: UsagePropertyProvider
      Returns whether the Anonymous Usage Collection is disabled.
      Specified by:
      getDisabled in interface UsagePropertyProvider
      Returns:
      true if the collection is disabled, null if not specified, or false if enabled.
    • getUrl

      public String getUrl()
      Description copied from interface: UsagePropertyProvider
      Returns the URL for the Anonymous Usage Collection endpoint.
      Specified by:
      getUrl in interface UsagePropertyProvider
      Returns:
      The URL as a String, or null if not specified.
    • priority

      public int priority()
      Description copied from interface: UsagePropertyProvider
      Returns the priority of this property provider. Higher values indicate higher priority. Providers with higher priority will be checked first when retrieving properties.
      Specified by:
      priority in interface UsagePropertyProvider
      Returns:
      An int representing the priority of this provider.