private boolean internalMatchesWithMatchType(PreferenceFilterEntry entry, String[] keys) { if (keys == null || keys.length == 0) return false; String key = entry.getKey(); String matchType = entry.getMatchType(); if (!matchType.equalsIgnoreCase(MATCH_TYPE_PREFIX)) return false; for (int i = 0; i < keys.length; i++) { if (keys[i].startsWith(key)) return true; } return false; }
for (int j = 0; j < entries.length; j++) { if (entries[j] != null) list.add(entries[j].getKey());
/** * @param element * the configuration element * @return a map that maps nodes to keys for this element or * <code>null</code> for all nodes */ public static Map getEntry(IConfigurationElement element) { IConfigurationElement[] entries = element.getChildren(IWorkbenchRegistryConstants.TAG_ENTRY); if (entries.length == 0) { return null; } Map map = new HashMap(entries.length); for (IConfigurationElement entry : entries) { IConfigurationElement[] keys = entry.getChildren(IWorkbenchRegistryConstants.ATT_KEY); PreferenceFilterEntry[] prefFilters = null; if (keys.length > 0) { prefFilters = new PreferenceFilterEntry[keys.length]; for (int j = 0; j < keys.length; j++) { IConfigurationElement keyElement = keys[j]; prefFilters[j] = new PreferenceFilterEntry( keyElement.getAttribute(IWorkbenchRegistryConstants.ATT_NAME), keyElement.getAttribute(IWorkbenchRegistryConstants.ATT_MATCH_TYPE)); } } map.put(entry.getAttribute(IWorkbenchRegistryConstants.ATT_NODE), prefFilters); } return map; } }
if (entries[j] != null && child.get(entries[j].getKey(), null) != null) return true;
private void addMatchedKeys(ArrayList<String> list, PreferenceFilterEntry entry, String[] keys) { String matchType = entry.getMatchType(); if (matchType == null) { list.add(entry.getKey()); return; } if (keys == null) return; String key = entry.getKey(); for (int i = 0; i < keys.length; i++) { if (matchType.equals(MATCH_TYPE_PREFIX) && keys[i].startsWith(key)) list.add(keys[i]); } }
if (entries[j] == null) continue; if (entries[j].getMatchType() == null) { if (child.get(entries[j].getKey(), null) != null) return true; } else if (internalMatchesWithMatchType(entries[j], child.keys()))