Bug 225601 Adopt API tooling for UI bundles
diff --git a/bundles/org.eclipse.core.commands/.project b/bundles/org.eclipse.core.commands/.project
index 36620f3..d16fcce 100644
--- a/bundles/org.eclipse.core.commands/.project
+++ b/bundles/org.eclipse.core.commands/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.core.commands/component.xml b/bundles/org.eclipse.core.commands/component.xml
deleted file mode 100644
index 6a334be..0000000
--- a/bundles/org.eclipse.core.commands/component.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Platform Core Commands">
-
-<plugin id="org.eclipse.core.commands" />
-
-<package name="org.eclipse.core.commands" >
-  <type name="AbstractHandler"/>
-  <type name="Category"/>
-  <type name="CategoryEvent" subclass="false"/>
-  <type name="Command"/>
-  <type name="CommandEvent" subclass="false"/>
-  <type name="CommandManager"/>
-  <type name="CommandManagerEvent"/>
-  <type name="ExecutionEvent"/>
-  <type name="ExecutionException" subclass="false"/>
-  <type name="HandlerEvent" subclass="false"/>
-  <type name="ICategoryListener"/>
-  <type name="ICommandListener"/>
-  <type name="ICommandManagerListener"/>
-  <type name="IHandler"/>
-  <type name="IHandlerAttributes"/>
-  <type name="IHandlerListener"/>
-  <type name="IParameter"/>
-  <type name="IParameterValues"/>
-  <type name="NotHandledException" subclass="false"/>
-  <type name="Parameterization"/>
-  <type name="ParameterizedCommand"/>
-  <type name="ParameterValuesException"/>
-</package>
-
-<package name="org.eclipse.core.commands.common" >
-  <type name="AbstractBitSetEvent"/>
-  <type name="AbstractNamedHandleEvent"/>
-  <type name="CommandException" subclass="false"/>
-  <type name="HandleObject"/>
-  <type name="NamedHandleObject"/>
-  <type name="NotDefinedException" subclass="false"/>
-</package>
-
-<package name="org.eclipse.core.commands.contexts" >
-  <type name="Context"/>
-  <type name="ContextEvent"/>
-  <type name="ContextManager"/>
-  <type name="ContextManagerEvent"/>
-  <type name="IContextListener"/>
-  <type name="IContextManagerListener"/>
-</package>
-
-<package name="org.eclipse.core.commands.operations" >
-  <type name="AbstractOperation"/>
-  <type name="ContextConsultingOperationApprover"/>
-  <type name="DefaultOperationHistory"/>
-  <type name="IContextOperationApprover"/>
-  <type name="IHistoryNotificationAwareOperation"/>
-  <type name="IOperationApprover"/>
-  <type name="IOperationHistory"/>
-  <type name="IOperationHistoryListener"/>
-  <type name="IUndoableOperation"/>
-  <type name="IUndoContext"/>
-  <type name="LinearUndoEnforcer"/>
-  <type name="LinearUndoViolationDetector"/>
-  <type name="ObjectUndoContext"/>
-  <type name="OperationHistoryEvent"/>
-  <type name="OperationHistoryFactory"/>
-  <type name="OperationStatus"/>
-  <type name="UndoContext"/>
-</package>
-
-<component-depends unrestricted="true"/>
-
-</component>
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
index 2bfd4fe..cf2582a 100644
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
+++ b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
@@ -701,7 +701,7 @@
 	/**
 	 * Returns the help context identifier associated with this command. This
 	 * method should not be called by clients. Clients should use
-	 * {@link CommandManager#getHelpContextId(String)} instead.
+	 * {@link CommandManager#getHelpContextId(Command)} instead.
 	 * 
 	 * @return The help context identifier for this command; may be
 	 *         <code>null</code> if there is none.
@@ -987,7 +987,7 @@
 	}
 
 	/**
-	 * @return
+	 * @return the handler listener
 	 */
 	private IHandlerListener getHandlerListener() {
 		if (handlerListener == null) {
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
index baae049..0ef34cf 100644
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
+++ b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
@@ -166,11 +166,14 @@
 
 	/**
 	 * Unescapes special characters in the command id, parameter ids and
-	 * parameter values for {@link #deserialize()}. The special characters
+	 * parameter values for {@link #deserialize(String)}. The special characters
 	 * {@link #PARAMETER_START_CHAR}, {@link #PARAMETER_END_CHAR},
 	 * {@link #ID_VALUE_CHAR}, {@link #PARAMETER_SEPARATOR_CHAR} and
 	 * {@link #ESCAPE_CHAR} are escaped by prepending an {@link #ESCAPE_CHAR}
 	 * character.
+	 * <p>
+	 * See also ParameterizedCommand.escape(String)
+	 * </p>
 	 * 
 	 * @param escapedText
 	 *            a <code>String</code> that may contain escaped special
@@ -180,7 +183,6 @@
 	 * @throws SerializationException
 	 *             if <code>escapedText</code> contains an invalid escape
 	 *             sequence
-	 * @see ParameterizedCommand#escape(String)
 	 * @since 3.2
 	 */
 	private static final String unescape(final String escapedText)
@@ -686,8 +688,6 @@
 	 *            array of parameters of the command being deserialized; may be
 	 *            <code>null</code>.
 	 * @return an array of parameterizations; may be <code>null</code>.
-	 * @throws NotDefinedException
-	 *             if the command is not defined
 	 * @throws SerializationException
 	 *             if there is an error deserializing the parameters
 	 * @since 3.2
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
index 2964183..9b3e14f 100644
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
+++ b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
@@ -17,6 +17,7 @@
  * </p>
  * 
  * @since 3.1
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class CommandException extends Exception {