Index: /trunk/src/org/openstreetmap/josm/gui/layer/Layer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 12113)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 12114)
@@ -110,7 +110,21 @@
     }
 
+    /**
+     * The visibility property for this layer. May be <code>true</code> (visible) or <code>false</code> (hidden).
+     */
     public static final String VISIBLE_PROP = Layer.class.getName() + ".visible";
+    /**
+     * The opacity of this layer. A number between 0 and 1
+     */
     public static final String OPACITY_PROP = Layer.class.getName() + ".opacity";
+    /**
+     * The name property of the layer.
+     * You can listen to name changes by listening to changes to this property.
+     */
     public static final String NAME_PROP = Layer.class.getName() + ".name";
+    /**
+     * Property that defines the filter state.
+     * This is currently not used.
+     */
     public static final String FILTER_STATE_PROP = Layer.class.getName() + ".filterstate";
 
@@ -241,6 +255,17 @@
     public abstract boolean isMergable(Layer other);
 
+    /**
+     * Visits the content bounds of this layer. The behavior of this method depends on the layer,
+     * but each implementation should attempt to cover the relevant content of the layer in this method.
+     * @param v The visitor that gets notified about the contents of this layer.
+     */
     public abstract void visitBoundingBox(BoundingXYVisitor v);
 
+    /**
+     * Gets the layer information to display to the user.
+     * This is used if the user requests information about this layer.
+     * It should display a description of the layer content.
+     * @return Either a String or a {@link Component} describing the layer.
+     */
     public abstract Object getInfoComponent();
 
@@ -281,8 +306,19 @@
     }
 
+    /**
+     * Gets the associated file for this layer.
+     * @return The file or <code>null</code> if it is unset.
+     * @see #setAssociatedFile(File)
+     */
     public File getAssociatedFile() {
         return associatedFile;
     }
 
+    /**
+     * Sets the associated file for this layer.
+     *
+     * The associated file might be the one that the user opened.
+     * @param file The file, may be <code>null</code>
+     */
     public void setAssociatedFile(File file) {
         associatedFile = file;
@@ -503,4 +539,8 @@
         private final transient Layer layer;
 
+        /**
+         * Create a new action that saves the layer
+         * @param layer The layer to save.
+         */
         public LayerSaveAction(Layer layer) {
             putValue(SMALL_ICON, ImageProvider.get("save"));
@@ -517,7 +557,14 @@
     }
 
+    /**
+     * Action to save the layer in a new file
+     */
     public static class LayerSaveAsAction extends AbstractAction {
         private final transient Layer layer;
 
+        /**
+         * Create a new save as action
+         * @param layer The layer that should be saved.
+         */
         public LayerSaveAsAction(Layer layer) {
             putValue(SMALL_ICON, ImageProvider.get("save_as"));
@@ -534,7 +581,14 @@
     }
 
+    /**
+     * Action that exports the layer as gpx file
+     */
     public static class LayerGpxExportAction extends AbstractAction {
         private final transient Layer layer;
 
+        /**
+         * Create a new gpx export action for the given layer.
+         * @param layer The layer
+         */
         public LayerGpxExportAction(Layer layer) {
             putValue(SMALL_ICON, ImageProvider.get("exportgpx"));
