<search function="jdk">
  <name>JDK Javadoc Search</name>
  <description>Search Sun's JDK Javadoc. Uses Google.
    <div class="helpboxDescLabels">Switches:</div>
      <table class="helpboxDescTable">
        <tr><td>/1.1</td><td> - </td><td>Version 1.1 JDK</td></tr>
        <tr><td>/1.2</td><td> - </td><td>Version 1.2 JDK</td></tr>
        <tr><td>/1.3</td><td> - </td><td>Version 1.3 JDK</td></tr>
        <tr><td>/1.4</td><td> - </td><td>Version 1.4 JDK (default)</td></tr>
        <tr><td>/1.5</td><td> - </td><td>Version 1.5 JDK</td></tr>
        <tr><td>/all</td><td> - </td><td>Search all of java.sun.com</td></tr>
        <tr><td>/api</td><td> - </td><td>Java API documentation list</td></tr>
        <tr><td>/j2ee</td><td> - </td><td>J2EE documentation</td></tr>
        <tr><td>/jls</td><td> - </td><td>Java language specification</td></tr>
        <tr><td>/jvm</td><td> - </td><td>Java VM specification</td></tr>
        <tr><td>/tutorial</td><td> - </td><td>Java language tutorial</td></tr>
      </table>
    <div class="helpboxDescLabels">Example:</div>
    <table class="helpboxDescTable">
      <tr><td>jdk HashMap /1.3</td></tr>
      <tr><td>jdk catch /tutorial</td></tr>
    </table>
  </description>
  <link>http://java.sun.com/j2se/1.4/docs/api/</link>
  <category>Computers<category>Programming</category></category>
  <contributor>David Bau</contributor>
  
  <form name="jdkf" action="http://www.google.com/search" method="get">
    <input type="hidden" name="q"/>
    <input type="hidden" name="meta" value=""/>
    <input type="hidden" name="lr" value="lang_en"/>
    <input type="hidden" name="btnI" value="I'm Feeling Lucky"/>
  </form>

  <script><![CDATA[
    // Uses Google I'm feeling lucky search
    function jdk(q)
    {
      var defpage = 'http://java.sun.com/j2se/1.4/docs/api/';
      var version = '"v1.4.2" inurl:api intitle:';
      var args = parseArgs(q, "all,api,jls,jvm,j2ee,tutorial,1.5,1.4,1.3,1.2,1.1");

      if( nullArgs("jdk", q) )
	  {
        return false;
      }
	  else if (args.switches.length > 1)
	  {
        nullArgs("jdk","?");
      }
	  else
      {
        if (args.switches.length == 1)
        {
          switch (args.switches[0].name)
          {
            case "all":
              version = '';
			  break;
			case "api":
			  defpage = 'http://java.sun.com/reference/api/';
			  version = '';
			  break;
            case "tutorial":
              defpage = 'http://java.sun.com/docs/books/tutorial/';
              version = 'inurl:nutsandbolts -inurl:reallybigindex -inurl:_keywords -inurl:TOC ';
              break;
            case "jls":
              defpage = 'http://java.sun.com/docs/books/jls/second_edition/html/jTOC.doc.html';
              version = 'inurl:jls inurl:second_edition -inurl:jTOC -inurl:jIX ';
              break;
            case "jvm":
              defpage = 'http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html';
              version = 'inurl:vmspec inurl:2nd -inurl:VMSpecTOC ';
              break;
            case "j2ee":
              defpage = 'http://java.sun.com/j2ee/1.4/docs/api/';
              version = 'inurl:j2ee inurl:api intitle:';
              break;
			case "1.1":
			  defpage = 'http://java.sun.com/products/archive/jdk/1.1/';
			  version = '"v1.1" inurl:api intitle:';
			  break;
			case "1.2":
			  defpage = 'http://java.sun.com/products/jdk/1.2/docs/api/';
			  version = '"v1.2" inurl:api intitle:';
			  break;
            case "1.3":
              defpage = 'http://java.sun.com/j2se/1.3/docs/api/';
              version = '"v1.3.1" inurl:api intitle:';
              break;
			case "1.5":
			  defpage = 'http://java.sun.com/j2se/1.5.0/docs/api/';
			  version = '"v1.5" inurl:api intitle:';
			  break;
            case "1.4":
            default:
              // this is the default already
          }
          if (args.q == "")
          {
            openSearchWindow(defpage);
            return;
          }
        }
        document.jdkf.q.value=version + args.q + ' site:java.sun.com';
        submitForm(jdkf);
      }
    }
  ]]></script>

  <copyright>
	Copyright (c) 2002 David Bau
	Distributed under the terms of the
	GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  </copyright>
</search>

