Index: trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 7369)
+++ trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 7370)
@@ -28,7 +28,8 @@
 
 /**
- * Custom projection
+ * Custom projection.
  *
  * Inspired by PROJ.4 and Proj4J.
+ * @since 5072
  */
 public class CustomProjection extends AbstractProjection {
@@ -45,25 +46,49 @@
     protected Bounds bounds;
 
-    protected static enum Param {
-
+    /**
+     * Proj4-like projection parameters. See <a href="https://trac.osgeo.org/proj/wiki/GenParms">reference</a>.
+     * @since 7370 (public)
+     */
+    public static enum Param {
+
+        /** False easting */
         x_0("x_0", true),
+        /** False northing */
         y_0("y_0", true),
+        /** Central meridian */
         lon_0("lon_0", true),
+        /** Scaling factor */
         k_0("k_0", true),
+        /** Ellipsoid name (see {@code proj -le}) */
         ellps("ellps", true),
+        /** Semimajor radius of the ellipsoid axis */
         a("a", true),
+        /** Eccentricity of the ellipsoid squared */
         es("es", true),
+        /** Reciprocal of the ellipsoid flattening term (e.g. 298) */
         rf("rf", true),
+        /** Flattening of the ellipsoid = 1-sqrt(1-e^2) */
         f("f", true),
+        /** Semiminor radius of the ellipsoid axis */
         b("b", true),
+        /** Datum name (see {@code proj -ld}) */
         datum("datum", true),
+        /** 3 or 7 term datum transform parameters */
         towgs84("towgs84", true),
+        /** Filename of NTv2 grid file to use for datum transforms */
         nadgrids("nadgrids", true),
+        /** Projection name (see {@code proj -l}) */
         proj("proj", true),
+        /** Latitude of origin */
         lat_0("lat_0", true),
+        /** Latitude of first standard parallel */
         lat_1("lat_1", true),
+        /** Latitude of second standard parallel */
         lat_2("lat_2", true),
+        /** the exact proj.4 string will be preserved in the WKT representation */
         wktext("wktext", false),  // ignored
+        /** meters, US survey feet, etc. */
         units("units", true),     // ignored
+        /** Don't use the /usr/share/proj/proj_def.dat defaults file */
         no_defs("no_defs", false),
         init("init", true),
@@ -88,7 +113,14 @@
     }
 
+    /**
+     * Constructs a new empty {@code CustomProjection}.
+     */
     public CustomProjection() {
     }
 
+    /**
+     * Constructs a new {@code CustomProjection} with given parameters.
+     * @param pref String containing projection parameters (ex: "+proj=tmerc +lon_0=-3 +k_0=0.9996 +x_0=500000 +ellps=WGS84 +datum=WGS84 +bounds=-8,-5,2,85")
+     */
     public CustomProjection(String pref) {
         this(null, null, pref, null);
@@ -96,5 +128,5 @@
 
     /**
-     * Constructor.
+     * Constructs a new {@code CustomProjection} with given name, code and parameters.
      *
      * @param name describe projection in one or two words
@@ -119,4 +151,9 @@
     }
 
+    /**
+     * Updates this {@code CustomProjection} with given parameters.
+     * @param pref String containing projection parameters (ex: "+proj=lonlat +ellps=WGS84 +datum=WGS84 +bounds=-180,-90,180,90")
+     * @throws ProjectionConfigurationException if {@code pref} cannot be parsed properly
+     */
     public final void update(String pref) throws ProjectionConfigurationException {
         this.pref = pref;
