# Java Element Filter Extensions

###### Identifier:

org.eclipse.jdt.ui.javaElementFilters

###### Description:

This extension point is used to extend Java UI views with filters.

###### Configuration Markup:

<!ELEMENT extension (filter+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT filter EMPTY>

<!ATTLIST filter

id CDATA #IMPLIED

name CDATA #IMPLIED

description CDATA #IMPLIED

targetId CDATA #IMPLIED

enabled (true | false)

pattern CDATA #IMPLIED

class CDATA #IMPLIED>

- id - a unique id that will be used to identify this filter
- name - a unique name that allows to identify this filter in the UI. This attribute should be a translated string. Though this attribute is not required for pattern filters (i.e. those using the `pattern` attribute) we suggest to provide a name anyway, otherwise the pattern string itself would be used to represent the filter in the UI.
- description - a short description for this filter
- targetId - the id of the target where this filter is contributed. If this attribute is missing, then the filter will be contributed to all views which use the `org.eclipse.jdt.ui.actions.customFiltersActionGroup`. This replaces the deprecated attribute "viewId".
- enabled - the filter will be enabled if this attribute is "true" or if this attribute is not present. Most likely the user will be able to override this setting in the UI.
- pattern - elements whose name matches this pattern will be hidden. This attribute is here for backward compatibility and should no longer be used. All views that allow to plug-in a filter also allow to add pattern filters directly via UI.
- class - the name of the class used to filter the view. The class must extend `org.eclipse.jface.viewers.ViewerFilter`. If this attribute is here then the pattern attribute must not provided.

###### Examples:

The following is an example of Java element filter definition. It filters out inner classes and is initially selected.

     <extension point="org.eclipse.jdt.ui.javaElementFilters">
      <filter
       id="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter"
       name="%HideReferencedLibraries.label"
       description="%HideReferencedLibraries.description"
       targetId="org.eclipse.jdt.ui.PackageExplorer"
       class="org.eclipse.jdt.internal.ui.filters.LibraryFilter"
       enabled="false">
      </filter>
     </extension>

Copyright (c) 2001, 2008 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html