<!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, 2008. 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">
    <meta http-equiv="Content-Style-Type" content="text/css">

    <title>New Java Interface Wizard</title>
    <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
    <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
  </head>

  <body>
    <h1>New Java Interface Wizard</h1>

    <p>The
    <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.newWizard(newWizardId=org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard)")'>
    <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="Opens the New Java Interface wizard">
    <b>New Java Interface</b></a> wizard
    helps you to create a new Java interface in a Java project.</p>

    <table border="1" cellspacing="0" cellpadding="5" summary="New Java interface options">
      <caption>
        Java Interface Options<br>
      </caption>

      <tr>
        <th>Option</th>

        <th>Description</th>

        <th>Default</th>
      </tr>

      <tr>
        <td align="left" valign="top">Source folder</td>

        <td align="left" valign="top">Enter a source folder for the new interface. Either type a valid source folder path or click <span class="control">Browse</span> to select a
        source folder via a dialog.</td>

        <td align="left" valign="top">The source folder of the element that was selected when the wizard has been started.</td>
      </tr>

      <tr>
        <td align="left" valign="top">Package</td>

        <td align="left" valign="top">Enter a package to contain the new interface. You can select either this option or the Enclosing Type option, below. Either type a valid
        package name or click <span class="control">Browse</span> to select a package via a dialog.</td>

        <td align="left" valign="top">The package of the element that was selected when the wizard has been started.</td>
      </tr>

      <tr>
        <td align="left" valign="top">Enclosing type</td>

        <td align="left" valign="top">Select this option to choose a type in which to enclose the new interface. You can select either this option or the Package option, above.
        Either type a valid name in the field or click <span class="control">Browse</span> to select a type via a dialog.</td>

        <td align="left" valign="top">The type or the primary type of the compilation unit that was selected when the wizard has been started or &lt;blank&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Name</td>

        <td align="left" valign="top">Type a name for the new interface.</td>

        <td align="left" valign="top">&lt;blank&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Modifiers</td>

        <td align="left" valign="top">
          <p>Select one or more access modifiers for the new interface.</p>

          <ul>
            <li>Either public, default, private, or protected (private and protected are only available if you specify an enclosing type)</li>

            <li>static (only available if you specify an enclosing type)</li>
          </ul>
        </td>

        <td align="left" valign="top">public</td>
      </tr>

      <tr>
        <td align="left" valign="top">Extended interfaces</td>

        <td align="left" valign="top">Click Add to choose interfaces that the new interface extends.</td>

        <td align="left" valign="top">&lt;blank&gt;</td>
      </tr>
      
      <tr>
        <td align="left" valign="top">Do you want to add comments?</td>

        <td align="left" valign="top">When selected, the wizard adds comments to the new class where appropriate.</td>

        <td align="left" valign="top">Do not add comments</td>
      </tr>
      
    </table>
    <p>
      <img src="../images/ngrelr.png" alt="Related reference" border="0" >
    </p>
    <p>
     <a href="../reference/ref-menu-file.htm">File actions</a>
     </p>
  </body>
</html>

