private List handleOptions()

in src/main/java/org/apache/sling/settings/impl/SlingSettingsServiceImpl.java [156:185]


    private List<Options> handleOptions(final Set<String> modesSet, final String propOptions) {
        final List<Options> optionsList = new ArrayList<Options>();
        if (propOptions != null && propOptions.trim().length() > 0) {

            final String[] options = propOptions.trim().split("\\|");
            for (final String opt : options) {
                String selected = null;
                final String[] modes = opt.trim().split(",");
                for (int i = 0; i < modes.length; i++) {
                    modes[i] = modes[i].trim();
                    if (selected != null) {
                        modesSet.remove(modes[i]);
                    } else {
                        if (modesSet.contains(modes[i])) {
                            selected = modes[i];
                        }
                    }
                }
                if (selected == null) {
                    selected = modes[0];
                    modesSet.add(modes[0]);
                }
                final Options o = new Options();
                o.selected = selected;
                o.modes = modes;
                optionsList.add(o);
            }
        }
        return optionsList;
    }