class FileConnection implements ObjectStoreConnection {

    @Override
    public boolean deleteRoleMember(String domainName, String roleName, String principal,
            String admin, String auditRef) {

        final String caller = "deleteRoleMember";
        DomainStruct domainStruct = getDomainStruct(domainName);
        if (domainStruct == null) {
            throw ZMSUtils.error(ResourceException.NOT_FOUND, "domain not found", caller);
        }
        Role role = getRoleObject(domainStruct, roleName);
        if (role == null) {
            throw ZMSUtils.error(ResourceException.NOT_FOUND, "role not found", caller);
        }
        List<RoleMember> roleMembers = role.getRoleMembers();
        if (roleMembers != null) {
            for (int idx = 0; idx < roleMembers.size(); idx++) {
                if (roleMembers.get(idx).getMemberName().equalsIgnoreCase(principal)) {
                    roleMembers.remove(idx);
                    break;
                }
            }
        }
        putDomainStruct(domainName, domainStruct);
        return true;
    }

    public  FileConnection(File rootDir, File quotaDir);

}