org.pentaho.di.repository
Interface RepositorySecurityProvider

All Superinterfaces:
IRepositoryService
All Known Implementing Classes:
KettleDatabaseRepositorySecurityProvider, KettleFileRepositorySecurityProvider

public interface RepositorySecurityProvider
extends IRepositoryService

This is the interface to the security provider for the repositories out there.

This allows the repository to transparently implement any kind of authentication supported by Kettle.

Author:
matt

Method Summary
 boolean allowsVersionComments()
           
 List<String> getAllRoles()
          Retrieves all roles in the system
 List<String> getAllUsers()
          Retrieves all users in the system
 IUser getUserInfo()
           
 String[] getUserLogins()
           
 boolean isLockingPossible()
           
 boolean isReadOnly()
           
 boolean isVersionCommentMandatory()
           
 void validateAction(RepositoryOperation... operations)
          Validates the supplied operation.
 

Method Detail

getUserInfo

IUser getUserInfo()
Returns:
the user information set on the security provider

validateAction

void validateAction(RepositoryOperation... operations)
                    throws KettleException,
                           KettleSecurityException
Validates the supplied operation.

Throws:
KettleSecurityException - in case the provided user is not know or the password is incorrect
KettleException - in case the action couldn't be validated because of an unexpected problem.

isReadOnly

boolean isReadOnly()
Returns:
true if the repository or the user is read only

isLockingPossible

boolean isLockingPossible()
Returns:
true if this repository supports file locking and if the user is allowed to lock a file

allowsVersionComments

boolean allowsVersionComments()
Returns:
true if the repository supports revisions AND if it is possible to give version comments

isVersionCommentMandatory

boolean isVersionCommentMandatory()
Returns:
true if version comments are allowed and mandatory.

getAllUsers

List<String> getAllUsers()
                         throws KettleException
Retrieves all users in the system

Returns:
list of username
Throws:
KettleSecurityException - in case anything went wrong
KettleException

getAllRoles

List<String> getAllRoles()
                         throws KettleException
Retrieves all roles in the system

Returns:
list of role
Throws:
KettleSecurityException - in case anything went wrong
KettleException

getUserLogins

String[] getUserLogins()
                       throws KettleException
Throws:
KettleException