private boolean checkStringMatch(String attr, String critVal) {
        if (attr == null) {
            return false;
        }
        attr = attr.toLowerCase();
        critVal = critVal.toLowerCase();

        boolean startsWith = critVal.startsWith("%");
        boolean endsWith = critVal.endsWith("%");

        if (startsWith && endsWith) {
            return attr.contains(critVal.substring(1, critVal.length() - 1));
        }
        else if (startsWith) {
            return attr.endsWith(critVal.substring(1));
        }
        else if (endsWith) {
            return attr.startsWith(critVal.substring(0, critVal.length() - 1));
        }
        else {
            return attr.equals(critVal);
        }
    }