Template:Javadoc:SE

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Java SE 9 API Javadocs

Template documentation[view] [edit] [history] [purge]

Template for creating an external link into the Javadoc for a class in the current version of the Java SE API. This template should be used instead of an explicit URL to allow the link to be automatically updated to the latest API when this template is updated.

Do not subst this template.

Usage[edit]

These are the common forms of usage for this template:

Type this To get this
{{Javadoc:SE}} Java SE 9 API Javadocs
{{Javadoc:SE|java/lang|Object}} Object
{{Javadoc:SE|java/lang|Object|clone()}} Object.clone()
{{Javadoc:SE|package=java.lang|java/lang}} java.lang
{{Javadoc:SE|package=java.lang|java/lang|Object}} java.lang.Object
{{Javadoc:SE|package=java.lang|java/lang|Object|clone()}} java.lang.Object.clone()

In the above example, clone() can be any member documented in the Javadoc that isn't a class or interface, so {{Javadoc:SE|java/lang|System|out}} produces System.out. For a class or interface member, the class name is OuterClass.InnerClass, so {{Javadoc:SE|java/lang|Character.Subset}} produces Character.Subset.

The Javadoc URLs don't include the generic parameterized types. To get the type parameters to display, specify a class and/or member parameter to the template to override the name of the displayed class and/or member name. Note that the parameterized type notation uses angle brackets (< and >), so type parameter names that match HTML markup tags need to use the character encodings &lt; for < and &gt; for >.

Type this To get this
{{Javadoc:SE|class=Class<T>|java/lang|Class}} Class<T>
{{Javadoc:SE|class=Class<T>|
member=asSubclass(Class&lt;U&gt;)|
java/lang|Class|asSubclass(java.lang.Class)}}
Class<T>.asSubclass(Class<U>)
{{Javadoc:SE|package=java.lang|class=Class<T>|
java/lang|Class}}
java.lang.Class<T>
{{Javadoc:SE|package=java.lang|class=Class<T>|
member=asSubclass(Class&lt;U&gt;)|
java/lang|Class|asSubclass(java.lang.Class)}}
java.lang.Class<T>.asSubclass(Class<U>)

The URL to a method uses the fully-qualified path name of the parameter types. The member parameter can be used to use the simple type name of method parameters, as shown in the preceding table, or even to eliminate the parameters entirely.

Finally, if none of the above work for the displayed text, supplying a name parameter allows the entire package/class/member name displayed to be replaced. (However, the name parameter won't override the text displayed when using the {{Javadoc:SE}} form.)

Type this To get this
{{Javadoc:SE|name=out|java/lang|System|out}} out

Issues[edit]

  1. Some versions of Javadoc, such as the version used to create the current Javadoc API pages, put spaces between the parameter names in the anchor tags used to link to the definitions of members. Unfortunately, that means to get a link to a method or constructor with two or more parameters to display correctly, the method/constructor signature needs both a displayed and link version like this:
Type this To get this
{{Javadoc:SE|member=indexOf(int, int)|java/lang|String|indexOf(int,%20int)}} String.indexOf(int, int)
  1. Including square brackets ([, ]) in the parameter types of method or constructor member arguments seems to break the template. Instead, replace square brackets with their numeric character reference escape codes, &#91; and &#93;, like this:
Type this To get this
{{Javadoc:SE|java/util|Arrays|sort(java.lang.Object&#91;&#93;)}} Arrays.sort(java.lang.Object[])
{{Javadoc:SE | member=sort(Object&#91;&#93;)|java/util|Arrays|sort(java.lang.Object&#91;&#93;)}} Arrays.sort(Object[])

See also[edit]