Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/PermissionPrefWithDefault.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/PermissionPrefWithDefault.java	(revision 16189)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/PermissionPrefWithDefault.java	(revision 16190)
@@ -21,18 +21,26 @@
     private static final List<PermissionPrefWithDefault> PREFS = new ArrayList<>();
 
+    /** Load data from API */
     public static final PermissionPrefWithDefault LOAD_DATA =
             new PermissionPrefWithDefault("remotecontrol.permission.load-data", true, tr("Load data from API"));
+    /** Import data from URL */
     public static final PermissionPrefWithDefault IMPORT_DATA =
             new PermissionPrefWithDefault("remotecontrol.permission.import", true, tr("Import data from URL"));
+    /** Open local files */
     public static final PermissionPrefWithDefault OPEN_FILES =
             new PermissionPrefWithDefault("remotecontrol.permission.open-files", false, tr("Open local files"));
+    /** Load imagery layers */
     public static final PermissionPrefWithDefault LOAD_IMAGERY =
             new PermissionPrefWithDefault("remotecontrol.permission.imagery", true, tr("Load imagery layers"));
+    /** Change the selection */
     public static final PermissionPrefWithDefault CHANGE_SELECTION =
             new PermissionPrefWithDefault("remotecontrol.permission.change-selection", true, tr("Change the selection"));
+    /** Change the viewport */
     public static final PermissionPrefWithDefault CHANGE_VIEWPORT =
             new PermissionPrefWithDefault("remotecontrol.permission.change-viewport", true, tr("Change the viewport"));
+    /** Create new objects */
     public static final PermissionPrefWithDefault CREATE_OBJECTS =
             new PermissionPrefWithDefault("remotecontrol.permission.create-objects", true, tr("Create new objects"));
+    /** Read protocol version */
     public static final PermissionPrefWithDefault READ_PROTOCOL_VERSION =
             new PermissionPrefWithDefault("remotecontrol.permission.read-protocolversion", true, tr("Read protocol version"));
Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 16189)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 16190)
@@ -389,4 +389,8 @@
     }
 
+    /**
+     * Returns the JSON information for all handlers.
+     * @return the JSON information for all handlers
+     */
     public static String getHandlersInfoAsJSON() {
         StringBuilder r = new StringBuilder();
@@ -407,4 +411,9 @@
     }
 
+    /**
+     * Returns the JSON information for a given handler.
+     * @param cmd handler key
+     * @return JSON information for the given handler
+     */
     public static String getHandlerInfoAsJSON(String cmd) {
         try (StringWriter w = new StringWriter()) {
Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java	(revision 16189)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java	(revision 16190)
@@ -38,7 +38,11 @@
 public abstract class RequestHandler {
 
+    /** preference key to determine if all Remote Control actions must be confirmed manually */
     public static final String globalConfirmationKey = "remotecontrol.always-confirm";
+    /** whether remote control actions must be confirmed manually by default */
     public static final boolean globalConfirmationDefault = false;
+    /** preference key to determine if remote control loads data in a new layer */
     public static final String loadInNewLayerKey = "remotecontrol.new-layer";
+    /** whether remote control loads data in a new layer by default */
     public static final boolean loadInNewLayerDefault = false;
 
@@ -123,14 +127,30 @@
     public abstract PermissionPrefWithDefault getPermissionPref();
 
+    /**
+     * Returns the mandatory parameters. Both used to enfore their presence at runtime and for documentation.
+     * @return the mandatory parameters
+     */
     public abstract String[] getMandatoryParams();
 
+    /**
+     * Returns the optional parameters. Both used to enfore their presence at runtime and for documentation.
+     * @return the optional parameters
+     */
     public String[] getOptionalParams() {
         return new String[0];
     }
 
+    /**
+     * Returns usage description, for bad requests and documentation.
+     * @return usage description
+     */
     public String getUsage() {
         return null;
     }
 
+    /**
+     * Returns usage examples, for bad requests and documentation.
+     * @return Usage examples
+     */
     public String[] getUsageExamples() {
         return new String[0];
@@ -295,8 +315,16 @@
     }
 
+    /**
+     * Returns the response content.
+     * @return the response content
+     */
     public String getContent() {
         return content;
     }
 
+    /**
+     * Returns the response content type.
+     * @return the response content type
+     */
     public String getContentType() {
         return contentType;
@@ -337,8 +365,15 @@
     }
 
+    /**
+     * Sets who sent the request (the host from referer header or IP of request sender)
+     * @param sender the host from referer header or IP of request sender
+     */
     public void setSender(String sender) {
         this.sender = sender;
     }
 
+    /**
+     * Base exception of remote control handler errors.
+     */
     public static class RequestHandlerException extends Exception {
 
@@ -369,4 +404,7 @@
     }
 
+    /**
+     * Error raised when a runtime error occurred.
+     */
     public static class RequestHandlerErrorException extends RequestHandlerException {
 
@@ -380,4 +418,7 @@
     }
 
+    /**
+     * Error raised for bad requests.
+     */
     public static class RequestHandlerBadRequestException extends RequestHandlerException {
 
@@ -408,4 +449,7 @@
     }
 
+    /**
+     * Error raised for forbidden usage.
+     */
     public static class RequestHandlerForbiddenException extends RequestHandlerException {
 
@@ -419,4 +463,7 @@
     }
 
+    /**
+     * Handler that takes an URL as parameter.
+     */
     public abstract static class RawURLParseRequestHandler extends RequestHandler {
         @Override
