com.opensymphony.user.provider
Interface UserProvider

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
AccessProvider, CredentialsProvider, ProfileProvider
All Known Implementing Classes:
BaseJDBCProvider, CastorAccessProvider, CastorCredentialsProvider, CastorProfileProvider, EJBAccessProvider, EJBCredentialsProvider, EJBProfileProvider, FileAccessProvider, FileCredentialsProvider, FileProfileProvider, HibernateAccessProvider, HibernateBaseProvider, HibernateCredentialsProvider, HibernateProfileProvider, JDBCAccessProvider, JDBCCredentialsProvider, JDBCProfileProvider, LDAPCredentialsProvider, MemoryAccessProvider, MemoryCredentialsProvider, MemoryProfileProvider, OFBizAbstractProvider, OFBizAccessProvider, OFBizCredentialsProvider, OFBizProfileProvider, OrionAccessProvider, OrionCredentialsProvider, OrionProvider, WeblogicAccessProvider, WeblogicCredentialsProvider, WeblogicProvider

public interface UserProvider
extends java.io.Serializable

A UserProvider is a plug-in implementation that allows a UserManager to access data in the back-end store.

A UserProvider implementation should always contain a public default constructor. The init() method shall always be called before any other methods.

Almost all methods return a boolean. This is to signify whether the operation was successful.

Version:
$Revision: 1.3 $
Author:
Joe Walnes
See Also:
CredentialsProvider, AccessProvider, ProfileProvider

Method Summary
 boolean create(java.lang.String name)
          Create new Entity with given name.
 void flushCaches()
          Flush the providers caches - if it is caching.
 boolean handles(java.lang.String name)
          Determine whether this UserProvider implementation is responsible for handling this Entity.
 boolean init(java.util.Properties properties)
          Called by UserManager before any other method.
 java.util.List list()
          Returns List of names (Strings) of all Entities that can be accessed by this UserProvider If this UserProvider cannot retrieve a list of names, null is to be returned.
 boolean load(java.lang.String name, Entity.Accessor accessor)
          Load Entity.
 boolean remove(java.lang.String name)
          Remove Entity with given name.
 boolean store(java.lang.String name, Entity.Accessor accessor)
          Stores changes to Entity.
 

Method Detail

create

public boolean create(java.lang.String name)
Create new Entity with given name.

Returns:
Whether entity was successfully created.

flushCaches

public void flushCaches()
Flush the providers caches - if it is caching. Providers may implement their own caching strategies. This method merely indicates to the provider that it should flush it's caches now.


handles

public boolean handles(java.lang.String name)
Determine whether this UserProvider implementation is responsible for handling this Entity.


init

public boolean init(java.util.Properties properties)
Called by UserManager before any other method. Allows for UserProvider specific initialization.

Parameters:
properties - Extra properties passed across by UserManager.

list

public java.util.List list()
Returns List of names (Strings) of all Entities that can be accessed by this UserProvider If this UserProvider cannot retrieve a list of names, null is to be returned. If there are no current Entities stored by this provider, an empty List is to be returned. The order of names returned can be determined by the UserProvider (it may or may not be relevant). This List should be immutable.


load

public boolean load(java.lang.String name,
                    Entity.Accessor accessor)
Load Entity.

Returns:
Whether entity was successfully loaded.

remove

public boolean remove(java.lang.String name)
Remove Entity with given name.

Returns:
Whether entity was successfully removed.

store

public boolean store(java.lang.String name,
                     Entity.Accessor accessor)
Stores changes to Entity.

Returns:
Whether changes to entity were successfully stored.

See www.opensymphony.com for more information.