static SettingValue parseSetting()

in src/main/java/org/apache/sling/resourcemerger/impl/HideItemPredicate.java [84:102]


    static SettingValue parseSetting(String value) {
        if (!value.startsWith("!")) {
            return new SettingValue(value, false);
        } else {
            // count all leading exclamation marks
            int index = 0; 
            for (;index < value.length(); index++) {
                if (value.charAt(index) != '!') {
                    break;
                }
            }
            if (index % 2 == 1) { // odd number of exclamation marks -> negated, remove all of them
                return new SettingValue(value.substring(index), true);
            } else {
                // even number of exclamation marks -> non-negated, remove half of it
                return new SettingValue(value.substring(index/2), false);
            }
        }
    }