Class HybridUserPropertyProvider
java.lang.Object
org.jivesoftware.openfire.user.property.UserPropertyMultiProvider
org.jivesoftware.openfire.user.property.HybridUserPropertyProvider
- All Implemented Interfaces:
UserPropertyProvider
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
hybridUserPropertyProvider.primaryProvider.className = fully.qualified.ClassUserPropertyProviderhybridUserPropertyProvider.secondaryProvider.className = fully.qualified.ClassUserPropertyProviderhybridUserPropertyProvider.tertiaryProvider.className = fully.qualified.ClassUserPropertyProvider
- Author:
- Guus der Kinderen, guus.der.kinderen@gmail.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SystemProperty<Class>static final SystemProperty<String>static final SystemProperty<Class>static final SystemProperty<String>static final SystemProperty<Class>static final SystemProperty<String> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetUserPropertyProvider(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.protected List<UserPropertyProvider>Methods inherited from class org.jivesoftware.openfire.user.property.UserPropertyMultiProvider
deleteProperty, insertProperty, instantiate, instantiate, isReadOnly, loadProperties, loadProperty, updateProperty
-
Field Details
-
PRIMARY_PROVIDER
-
PRIMARY_PROVIDER_CONFIG
-
SECONDARY_PROVIDER
-
SECONDARY_PROVIDER_CONFIG
-
TERTIARY_PROVIDER
-
TERTIARY_PROVIDER_CONFIG
-
-
Constructor Details
-
HybridUserPropertyProvider
public HybridUserPropertyProvider()
-
-
Method Details
-
getUserPropertyProviders
-
getUserPropertyProvider
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)
-