public interface  org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository extends java.lang.Object
{
public abstract org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole newApplicationRole();
public abstract java.util.Collection allRoles();
public abstract org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole newRole(java.lang.String, java.lang.String);
public abstract java.util.Collection findNameContaining(java.lang.String);
public abstract java.util.Collection getRoles(org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser);
public abstract java.util.Collection findMatching(java.lang.String);
public abstract java.util.Optional findByName(java.lang.String);
public abstract java.util.Optional findByNameCached(java.lang.String);
public org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole upsert(java.lang.String, java.lang.String)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository v;
java.util.Optional v;
java.lang.Object v;
java.lang.String v, v;
java.util.function.Supplier v;
v := @this: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository: java.util.Optional findByName(java.lang.String)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository$lambda_upsert_0__40: java.util.function.Supplier bootstrap$(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository,java.lang.String,java.lang.String)>(v, v, v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
return v;
}
public abstract void addRoleToUser(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole, org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser);
public abstract void removeRoleFromUser(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole, org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser);
public abstract boolean isAdminRole(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole);
public abstract void deleteRole(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole);
}