java.lang.Object | |
↳ | bucket.user.providers.ChainedUserProvider |
Known Direct Subclasses |
Known Indirect Subclasses |
Allows more explicit chaining of OSUser providers. Normal OSUser chaining is applied externally, so a provider doesn't know it's part of a chain, and can't explicitly talk to providers down the chain (making implementing a generic caching provider difficult, for example)
Init Properties:
If you're a masochist, you can configure multiple chained providers in a row, using properties like "chain.chain.chain.of.fools" to pass configuration properties down the list.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
See the class Javadoc for the chaining provider's properties.
| |||||||||||
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Get the next UserProvider in the chain.
| |||||||||||
Get the exact kind of provider we are chaining.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.opensymphony.user.provider.UserProvider
|
See the class Javadoc for the chaining provider's properties.
properties | initialisation properties for this provider, and subsequent providers in the chain. |
---|
Get the next UserProvider in the chain. So long as the chain has been successfully init()'d, this method should never return null.
Get the exact kind of provider we are chaining. Concrete subclasses should return the class we are enforcing providers to be a type of: i.e. AccessProvider, CredentialsProvider or ProfileProvider. If this provider class isn't a sub-type of UserProvider, things will fall over in a painful fashion.