Class HybridUserPropertyProvider

java.lang.Object
org.jivesoftware.openfire.user.property.UserPropertyMultiProvider
org.jivesoftware.openfire.user.property.HybridUserPropertyProvider
All Implemented Interfaces:
UserPropertyProvider

public class HybridUserPropertyProvider extends UserPropertyMultiProvider
Delegate UserPropertyProvider operations among up to three configurable provider implementation classes. This implementation will not explicitly verify if a user exists, when operating on its properties. The methods of this implementation will not throw UserNotFoundException. This class related to, but is distinct from MappedUserPropertyProvider. The Hybrid variant of the provider iterates over providers, operating on the first applicable instance. The Mapped variant, however, maps each user to exactly one provider. To use this provider, use the following system property definition:
  • provider.userproperty.className = org.jivesoftware.openfire.user.HybridUserPropertyProvider
Next, configure up to three providers, by setting these properties:
  1. hybridUserPropertyProvider.primaryProvider.className = fully.qualified.ClassUserPropertyProvider
  2. hybridUserPropertyProvider.secondaryProvider.className = fully.qualified.ClassUserPropertyProvider
  3. hybridUserPropertyProvider.tertiaryProvider.className = fully.qualified.ClassUserPropertyProvider
Author:
Guus der Kinderen, guus.der.kinderen@gmail.com
  • Field Details

  • Constructor Details

    • HybridUserPropertyProvider

      public HybridUserPropertyProvider()
  • Method Details

    • getUserPropertyProviders

      protected List<UserPropertyProvider> getUserPropertyProviders()
    • getUserPropertyProvider

      public UserPropertyProvider getUserPropertyProvider(String username)
      Returns the first provider that contains the user, or the first provider that is not read-only when the user does not exist in any provider.
      Parameters:
      username - the username (cannot be null or empty).
      Returns:
      The user property provider (never null)