package org.commonjava.web.user.data;
import java.util.List;
import org.commonjava.web.user.model.Permission;
import org.commonjava.web.user.model.Role;
import org.commonjava.web.user.model.User;
public interface UserDataBackend
{
void deleteUser( final String username )
throws UserDataException;
void deleteRole( final String name )
throws UserDataException;
void deletePermission( final String name )
throws UserDataException;
Role getRole( final String roleName );
Permission getPermission( final String permissionName );
User getUser( final String username );
Permission savePermission( final Permission perm, final boolean autoCommit )
throws UserDataException;
Role saveRole( final Role role, final boolean autoCommit )
throws UserDataException;
User saveUser( final User user, final boolean autoCommit )
throws UserDataException;
List<Permission> getPermissions();
List<Role> getRoles();
List<User> getUsers();
boolean hasPermission( String name );
boolean hasRole( String name );
boolean hasUser( String username );
}