Bug 291755 [Filters] Filters implementation and API cleanup
This bug is raised to track reviewing and cleanup of filters API and implementation.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CompoundResourceFilter.java
mementoObject = XMLMemento
					.createReadRoot(new StringReader(memento));
		} catch (WorkbenchException e) {
			return new IResourceFilter[0];
		}
		IMemento childMem = mementoObject.getChild(T_FILTERS);
		if (childMem != null) {
			IMemento[] elementMem = childMem.getChildren(T_FILTER);
			for (int i = 0; i < elementMem.length; i++) {
				final String id = elementMem[i].getString(T_ID);
				final int type = elementMem[i].getInteger(T_TYPE).intValue();
				IMemento argumentMem = elementMem[i].getChild(T_ARGUMENTS);
				final String arguments = argumentMem != null ? argumentMem
						.getTextData() : ""; 
				filters.add(new IResourceFilter() {
					public String getArguments() {
						return arguments;
					}
					public String getId() {
						return id;
					}
					public IPath getPath() {
						return null;
					}
					public IProject getProject() {
						return project;
					}
					public int getType() {
						return type;
					}