package org.jboss.resteasy.skeleton.key.idm; import org.jboss.resteasy.skeleton.key.idm.model.data.Realm; import org.jboss.resteasy.skeleton.key.idm.model.data.RequiredCredential; import org.jboss.resteasy.skeleton.key.idm.model.data.Resource; import org.jboss.resteasy.skeleton.key.idm.model.data.Role; import org.jboss.resteasy.skeleton.key.idm.model.data.RoleMapping; import org.jboss.resteasy.skeleton.key.idm.model.data.ScopeMapping; import org.jboss.resteasy.skeleton.key.idm.model.data.User; import org.jboss.resteasy.skeleton.key.idm.model.data.UserAttribute; import org.jboss.resteasy.skeleton.key.idm.model.data.UserCredential; import java.util.List; /** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */ public interface IdentityManager { Realm getRealm(String id); Realm create(Realm realm); void update(Realm realm); void delete(Realm realm); List<RequiredCredential> getRequiredCredentials(Realm realm); RequiredCredential getRealmCredential(String id); RequiredCredential create(Realm realm, RequiredCredential cred); void update(RequiredCredential cred); void delete(RequiredCredential cred); User getUser(Realm realm, String username); User create(Realm realm, User user); void update(User user); void delete(User user); List<UserCredential> getCredentials(User user); UserCredential getCredential(String id); UserCredential create(User user, UserCredential cred); void update(UserCredential cred); void delete(UserCredential cred); UserAttribute getUserAttribute(String id); UserAttribute create(User user, UserAttribute attribute); void update(UserAttribute attribute); void delete(UserAttribute attribute); Resource getResource(String id); Resource getResource(Realm realm, String name); List<Resource> getResources(Realm realm); Resource create(Realm realm, Resource resource); void update(Resource resource); void delete(Resource resource); Role getRoleByName(Realm realm, String roleName); Role getRoleByName(Resource resource, String roleName); List<Role> getRoles(Realm realm, Resource resource); List<Role> getRoles(Realm realm); Role getRole(String id); Role create(Realm realm, Resource resource, String role); Role create(Realm realm, String role); void delete(Role role); List<RoleMapping> getRoleMappings(Realm realm); List<RoleMapping> getRoleMappings(Realm realm, Resource resource); RoleMapping getRoleMapping(Realm realm, User user); RoleMapping getRoleMapping(Realm realm, Resource resource, User user); RoleMapping getRoleMapping(String id); RoleMapping create(Realm realm, User user, RoleMapping mapping); RoleMapping create(Realm realm, Resource resource, User user, RoleMapping mapping); void delete(RoleMapping role); List<ScopeMapping> getScopeMappings(Realm realm); List<ScopeMapping> getScopeMappings(Realm realm, Resource resource); ScopeMapping getScopeMapping(Realm realm, User user); ScopeMapping getScopeMapping(Realm realm, Resource resource, User user); ScopeMapping getScopeMapping(String id); ScopeMapping create(Realm realm, User user, ScopeMapping mapping); ScopeMapping create(Realm realm, Resource resource, User user, ScopeMapping mapping); void delete(ScopeMapping scope); List<Realm> getRealmsByName(String name); }