<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
  <head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2010. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>
      Java Element Filters Dialog
    </title>
    <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
  </head>
  <body>
    <h1>
      Java Element Filters Dialog
    </h1>
    <p>
      This dialog lets you define Java element filters for the Package Explorer view and other Java views.
    </p>
    <table border="1" cellspacing="0" cellpadding="5" width="100%" summary="Filter dialog options">
      <thead>
        <tr>
          <th>
            <p>
              Option
            </p>
          </th>
          <th>
            <p>
              Description
            </p>
          </th>
          <th>
            <p>
              Default
            </p>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td valign="top">
            <p>
             Name filter patterns
            </p>
          </td>
          <td valign="top">
            <p>
              If enabled, a comma separated list of patterns can be specified additionally.
            </p>
          </td>
          <td valign="top">
            <p>
              Off
            </p>
          </td>
        </tr>
        <tr>
          <td valign="top">
            <p>
              Select the elements to exclude from the view
            </p>
          </td>
          <td valign="top">
            <p>
              List of pre-defined filters which can be enabled.
            </p>
          </td>
          <td valign="top">
            <p>
              	.* resources,<br>
              	Empty library containers<br>
			  	Empty parent packages,<br>
				Import declarations,<br>
				Inner class files,<br>
				Package declarations,<br>
				Synthetic members
            </p>
          </td>
        </tr>
      </tbody>
    </table>
    <p>
      The <strong>Filter description</strong> field displays the description for the currently selected filter.
    </p>
    
    <h3 class="related">Related concepts</h3>
      <a href="../concepts/concept-java-views-filtering.htm">Filtering elements</a>
    <h3 class="related">Related references</h3>
      <a href="../reference/views/ref-view-package-explorer.htm">Package Explorer view</a>

  </body>
</html>

