PIVOT-1027:  Add the @UnsupportedOperation annotation to all the methods in
various packages that throw this exception.
Clean up some error messages from this exception and some related Javadoc.


git-svn-id: https://svn.apache.org/repos/asf/pivot/trunk@1850678 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/org/apache/pivot/collections/ArrayAdapter.java b/core/src/org/apache/pivot/collections/ArrayAdapter.java
index 46881cd..269268b 100644
--- a/core/src/org/apache/pivot/collections/ArrayAdapter.java
+++ b/core/src/org/apache/pivot/collections/ArrayAdapter.java
@@ -27,6 +27,8 @@
 public class ArrayAdapter<T> implements Sequence<T>, Serializable {
     private static final long serialVersionUID = 1143706808122308239L;
 
+    private static final String ERROR_MSG = "An Array Adapter is immutable.";
+
     private T[] array;
 
     @SuppressWarnings({ "unchecked" })
@@ -39,31 +41,31 @@
     @Override
     @UnsupportedOperation
     public int add(T item) {
-        throw new UnsupportedOperationException();
+        throw new UnsupportedOperationException(ERROR_MSG);
     }
 
     @Override
     @UnsupportedOperation
     public void insert(T item, int index) {
-        throw new UnsupportedOperationException();
+        throw new UnsupportedOperationException(ERROR_MSG);
     }
 
     @Override
     @UnsupportedOperation
     public T update(int index, T item) {
-        throw new UnsupportedOperationException();
+        throw new UnsupportedOperationException(ERROR_MSG);
     }
 
     @Override
     @UnsupportedOperation
     public int remove(T item) {
-        throw new UnsupportedOperationException();
+        throw new UnsupportedOperationException(ERROR_MSG);
     }
 
     @Override
     @UnsupportedOperation
     public Sequence<T> remove(int index, int count) {
-        throw new UnsupportedOperationException();
+        throw new UnsupportedOperationException(ERROR_MSG);
     }
 
     @Override
diff --git a/core/src/org/apache/pivot/xml/Element.java b/core/src/org/apache/pivot/xml/Element.java
index 077eda1..fa57810 100644
--- a/core/src/org/apache/pivot/xml/Element.java
+++ b/core/src/org/apache/pivot/xml/Element.java
@@ -19,6 +19,7 @@
 import java.util.Comparator;
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.HashMap;
@@ -227,6 +228,7 @@
          * Use {@link Attribute#setValue(String)} instead.
          */
         @Override
+        @UnsupportedOperation
         public Attribute update(int index, Attribute item) {
             throw new UnsupportedOperationException();
         }
@@ -652,6 +654,7 @@
      * @throws UnsupportedOperationException This method is not supported.
      */
     @Override
+    @UnsupportedOperation
     public Node update(int index, Node node) {
         throw new UnsupportedOperationException();
     }
@@ -754,6 +757,7 @@
      * @throws UnsupportedOperationException Elements cannot be sorted.
      */
     @Override
+    @UnsupportedOperation
     public void setComparator(Comparator<Node> comparator) {
         throw new UnsupportedOperationException();
     }
diff --git a/tutorials/src/org/apache/pivot/tutorials/explorer/tools/EventLogger.java b/tutorials/src/org/apache/pivot/tutorials/explorer/tools/EventLogger.java
index 6c8cd67..ab909e7 100644
--- a/tutorials/src/org/apache/pivot/tutorials/explorer/tools/EventLogger.java
+++ b/tutorials/src/org/apache/pivot/tutorials/explorer/tools/EventLogger.java
@@ -25,6 +25,7 @@
 import java.lang.reflect.Type;
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.Group;
 import org.apache.pivot.collections.HashMap;
 import org.apache.pivot.collections.HashSet;
@@ -66,11 +67,13 @@
         }
 
         @Override
+        @UnsupportedOperation
         public boolean add(Method event) {
             throw new UnsupportedOperationException();
         }
 
         @Override
+        @UnsupportedOperation
         public boolean remove(Method event) {
             throw new UnsupportedOperationException();
         }
diff --git a/tutorials/src/org/apache/pivot/tutorials/stocktracker/ValueMapping.java b/tutorials/src/org/apache/pivot/tutorials/stocktracker/ValueMapping.java
index ce9429d..5ebb05b 100644
--- a/tutorials/src/org/apache/pivot/tutorials/stocktracker/ValueMapping.java
+++ b/tutorials/src/org/apache/pivot/tutorials/stocktracker/ValueMapping.java
@@ -18,6 +18,7 @@
 
 import java.text.DecimalFormat;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.wtk.Label;
 
 /**
@@ -32,6 +33,7 @@
     }
 
     @Override
+    @UnsupportedOperation
     public Object valueOf(String text) {
         throw new UnsupportedOperationException();
     }
diff --git a/tutorials/src/org/apache/pivot/tutorials/stocktracker/VolumeMapping.java b/tutorials/src/org/apache/pivot/tutorials/stocktracker/VolumeMapping.java
index 5f5922f..556610f 100644
--- a/tutorials/src/org/apache/pivot/tutorials/stocktracker/VolumeMapping.java
+++ b/tutorials/src/org/apache/pivot/tutorials/stocktracker/VolumeMapping.java
@@ -18,6 +18,7 @@
 
 import java.text.DecimalFormat;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.wtk.Label;
 
 /**
@@ -31,9 +32,12 @@
         return FORMAT.format(value);
     }
 
+    /**
+     * @throws UnsupportedOperationException because this mapping is for load only.
+     */
     @Override
+    @UnsupportedOperation
     public Object valueOf(String text) {
-        // Not needed; this mapping is for load only
         throw new UnsupportedOperationException();
     }
 }
diff --git a/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java b/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java
index 10150fd..287f9d3 100644
--- a/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java
+++ b/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java
@@ -24,6 +24,7 @@
 import java.awt.geom.Line2D;
 import java.awt.geom.RoundRectangle2D;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
@@ -87,6 +88,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public void setButtonData(Object buttonData) {
             throw new UnsupportedOperationException();
         }
@@ -98,6 +100,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public void setDataRenderer(Button.DataRenderer dataRenderer) {
             throw new UnsupportedOperationException();
         }
@@ -108,16 +111,19 @@
         }
 
         @Override
+        @UnsupportedOperation
         public void setTooltipText(String tooltipText) {
             throw new UnsupportedOperationException();
         }
 
         @Override
+        @UnsupportedOperation
         public void setToggleButton(boolean toggleButton) {
             throw new UnsupportedOperationException();
         }
 
         @Override
+        @UnsupportedOperation
         public void setTriState(boolean triState) {
             throw new UnsupportedOperationException();
         }
diff --git a/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java b/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java
index 57d508f..d811fe8 100644
--- a/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java
+++ b/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java
@@ -26,6 +26,7 @@
 import java.util.Iterator;
 import java.util.NoSuchElementException;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
@@ -156,6 +157,7 @@
          * @throws UnsupportedOperationException always since this is unsupported.
          */
         @Override
+        @UnsupportedOperation
         public void remove() {
             throw new UnsupportedOperationException();
         }
diff --git a/wtk/src/org/apache/pivot/wtk/Accordion.java b/wtk/src/org/apache/pivot/wtk/Accordion.java
index a689890..94c4fa3 100644
--- a/wtk/src/org/apache/pivot/wtk/Accordion.java
+++ b/wtk/src/org/apache/pivot/wtk/Accordion.java
@@ -18,6 +18,7 @@
 
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.beans.DefaultProperty;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Sequence;
@@ -73,6 +74,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public Component update(final int index, final Component panel) {
             throw new UnsupportedOperationException();
         }
@@ -212,7 +214,7 @@
             Component component = get(i);
 
             if (panels.indexOf(component) >= 0) {
-                throw new UnsupportedOperationException();
+                throw new UnsupportedOperationException("Cannot remove a panel directly from the Accordion.");
             }
         }
 
diff --git a/wtk/src/org/apache/pivot/wtk/Alert.java b/wtk/src/org/apache/pivot/wtk/Alert.java
index 32c2d79..25a52a7 100644
--- a/wtk/src/org/apache/pivot/wtk/Alert.java
+++ b/wtk/src/org/apache/pivot/wtk/Alert.java
@@ -18,6 +18,7 @@
 
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.beans.DefaultProperty;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Sequence;
@@ -63,6 +64,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public Component update(int index, Object option) {
             throw new UnsupportedOperationException();
         }
@@ -166,27 +168,26 @@
         setOptions((options == null) ? new ArrayList<>(resources.get("defaultOption")) : options);
         setBody(body);
 
-        if (messageType == null) {
-            setTitle(resources.getString("defaultTitle"));
-        } else {
+        String titleKey = "defaultTitle";
+        if (messageType != null) {
             switch (messageType) {
                 case ERROR:
-                    setTitle(resources.getString("defaultErrorTitle"));
+                    titleKey = "defaultErrorTitle";
                     break;
                 case WARNING:
-                    setTitle(resources.getString("defaultWarningTitle"));
+                    titleKey = "defaultWarningTitle";
                     break;
                 case QUESTION:
-                    setTitle(resources.getString("defaultQuestionTitle"));
+                    titleKey = "defaultQuestionTitle";
                     break;
                 case INFO:
-                    setTitle(resources.getString("defaultInfoTitle"));
+                    titleKey = "defaultInfoTitle";
                     break;
                 default:
-                    setTitle(resources.getString("defaultTitle"));
                     break;
             }
         }
+        setTitle(resources.getString(titleKey));
 
         installSkin(Alert.class);
     }
diff --git a/wtk/src/org/apache/pivot/wtk/ApplicationContext.java b/wtk/src/org/apache/pivot/wtk/ApplicationContext.java
index 59fc0c3..bde94fc 100644
--- a/wtk/src/org/apache/pivot/wtk/ApplicationContext.java
+++ b/wtk/src/org/apache/pivot/wtk/ApplicationContext.java
@@ -62,6 +62,7 @@
 import java.util.Timer;
 import java.util.TimerTask;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.HashMap;
@@ -1702,6 +1703,7 @@
                 }
 
                 @Override
+                @UnsupportedOperation
                 public void remove() {
                     throw new UnsupportedOperationException();
                 }
diff --git a/wtk/src/org/apache/pivot/wtk/Border.java b/wtk/src/org/apache/pivot/wtk/Border.java
index 04d8b29..24e67ad 100644
--- a/wtk/src/org/apache/pivot/wtk/Border.java
+++ b/wtk/src/org/apache/pivot/wtk/Border.java
@@ -105,7 +105,7 @@
         for (int i = index, n = index + count; i < n; i++) {
             Component component = get(i);
             if (component == content) {
-                throw new UnsupportedOperationException();
+                throw new UnsupportedOperationException("Cannot directly remove content from a Border.");
             }
         }
 
diff --git a/wtk/src/org/apache/pivot/wtk/CalendarButton.java b/wtk/src/org/apache/pivot/wtk/CalendarButton.java
index 70d6b86..2e39f84 100644
--- a/wtk/src/org/apache/pivot/wtk/CalendarButton.java
+++ b/wtk/src/org/apache/pivot/wtk/CalendarButton.java
@@ -18,6 +18,7 @@
 
 import java.util.Locale;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.json.JSON;
 import org.apache.pivot.json.JSONSerializer;
@@ -102,6 +103,7 @@
      * CalendarButton.
      */
     @Override
+    @UnsupportedOperation
     public void setToggleButton(boolean toggleButton) {
         throw new UnsupportedOperationException("Calendar buttons cannot be toggle buttons.");
     }
diff --git a/wtk/src/org/apache/pivot/wtk/ColorChooserButton.java b/wtk/src/org/apache/pivot/wtk/ColorChooserButton.java
index 92f9e25..4cedc56 100644
--- a/wtk/src/org/apache/pivot/wtk/ColorChooserButton.java
+++ b/wtk/src/org/apache/pivot/wtk/ColorChooserButton.java
@@ -18,6 +18,7 @@
 
 import java.awt.Color;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.json.JSON;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.util.Utils;
@@ -80,6 +81,7 @@
      * ColorChooserButton.
      */
     @Override
+    @UnsupportedOperation
     public void setToggleButton(final boolean toggleButton) {
         throw new UnsupportedOperationException("Color chooser buttons cannot be toggle buttons.");
     }
diff --git a/wtk/src/org/apache/pivot/wtk/Component.java b/wtk/src/org/apache/pivot/wtk/Component.java
index 6c5c900..371a2aa 100644
--- a/wtk/src/org/apache/pivot/wtk/Component.java
+++ b/wtk/src/org/apache/pivot/wtk/Component.java
@@ -25,6 +25,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.beans.BeanAdapter;
 import org.apache.pivot.beans.IDProperty;
 import org.apache.pivot.beans.PropertyNotFoundException;
@@ -135,6 +136,7 @@
          * @throws UnsupportedOperationException always.
          */
         @Override
+        @UnsupportedOperation
         public Object remove(String key) {
             throw new UnsupportedOperationException();
         }
@@ -1262,6 +1264,7 @@
      * @throws UnsupportedOperationException This method is not currently
      * implemented.
      */
+    @UnsupportedOperation
     public boolean contains(int xValue, int yValue) {
         // TODO
         throw new UnsupportedOperationException();
diff --git a/wtk/src/org/apache/pivot/wtk/Container.java b/wtk/src/org/apache/pivot/wtk/Container.java
index 2a8c13a..bfcb25d 100644
--- a/wtk/src/org/apache/pivot/wtk/Container.java
+++ b/wtk/src/org/apache/pivot/wtk/Container.java
@@ -22,6 +22,7 @@
 import java.awt.Transparency;
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.ImmutableIterator;
@@ -86,6 +87,7 @@
     }
 
     @Override
+    @UnsupportedOperation
     public Component update(int index, Component component) {
         throw new UnsupportedOperationException();
     }
diff --git a/wtk/src/org/apache/pivot/wtk/Display.java b/wtk/src/org/apache/pivot/wtk/Display.java
index 24f65c5..155c6c6 100644
--- a/wtk/src/org/apache/pivot/wtk/Display.java
+++ b/wtk/src/org/apache/pivot/wtk/Display.java
@@ -18,6 +18,7 @@
 
 import java.awt.Graphics2D;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.wtk.skin.DisplaySkin;
 
 /**
@@ -49,26 +50,31 @@
     }
 
     @Override
+    @UnsupportedOperation
     protected void setSkin(Skin skin) {
         throw new UnsupportedOperationException("Can't replace Display skin.");
     }
 
     @Override
+    @UnsupportedOperation
     protected void setParent(Container parent) {
         throw new UnsupportedOperationException("Display can't have a parent.");
     }
 
     @Override
+    @UnsupportedOperation
     public void setLocation(int x, int y) {
         throw new UnsupportedOperationException("Can't change the location of the display.");
     }
 
     @Override
+    @UnsupportedOperation
     public void setVisible(boolean visible) {
         throw new UnsupportedOperationException("Can't change the visibility of the display.");
     }
 
     @Override
+    @UnsupportedOperation
     public void setTooltipText(String tooltipText) {
         throw new UnsupportedOperationException("Can't set a tooltip on the display.");
     }
diff --git a/wtk/src/org/apache/pivot/wtk/Expander.java b/wtk/src/org/apache/pivot/wtk/Expander.java
index d3025b1..bdf3e20 100644
--- a/wtk/src/org/apache/pivot/wtk/Expander.java
+++ b/wtk/src/org/apache/pivot/wtk/Expander.java
@@ -138,7 +138,7 @@
         for (int i = index, n = index + count; i < n; i++) {
             Component component = get(i);
             if (component == content) {
-                throw new UnsupportedOperationException();
+                throw new UnsupportedOperationException("Cannot directly remove the content from Expander.");
             }
         }
 
diff --git a/wtk/src/org/apache/pivot/wtk/Form.java b/wtk/src/org/apache/pivot/wtk/Form.java
index 91dc5fa..111cded 100644
--- a/wtk/src/org/apache/pivot/wtk/Form.java
+++ b/wtk/src/org/apache/pivot/wtk/Form.java
@@ -18,6 +18,7 @@
 
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.beans.DefaultProperty;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Dictionary;
@@ -90,6 +91,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public Component update(int index, Component field) {
             throw new UnsupportedOperationException();
         }
@@ -177,6 +179,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public Section update(int index, Section section) {
             throw new UnsupportedOperationException();
         }
@@ -438,7 +441,7 @@
 
             for (Section section : sections) {
                 if (section.indexOf(component) >= 0) {
-                    throw new UnsupportedOperationException();
+                    throw new UnsupportedOperationException("Cannot directly remove a Form Section.");
                 }
             }
         }
@@ -448,8 +451,6 @@
     }
 
     /**
-     * Returns the form listener list.
-     *
      * @return The form listener list.
      */
     public ListenerList<FormListener> getFormListeners() {
@@ -457,8 +458,6 @@
     }
 
     /**
-     * Returns the form attribute listener list.
-     *
      * @return The form attribute listener list.
      */
     public ListenerList<FormAttributeListener> getFormAttributeListeners() {
diff --git a/wtk/src/org/apache/pivot/wtk/Frame.java b/wtk/src/org/apache/pivot/wtk/Frame.java
index e5b2304..834a48a 100644
--- a/wtk/src/org/apache/pivot/wtk/Frame.java
+++ b/wtk/src/org/apache/pivot/wtk/Frame.java
@@ -122,7 +122,7 @@
         for (int i = index, n = index + count; i < n; i++) {
             Component component = get(i);
             if (component == menuBar) {
-                throw new UnsupportedOperationException();
+                throw new UnsupportedOperationException("Cannot directly remove the menu bar from a Frame.");
             }
         }
 
diff --git a/wtk/src/org/apache/pivot/wtk/GridPane.java b/wtk/src/org/apache/pivot/wtk/GridPane.java
index dff7df5..71e24cf 100644
--- a/wtk/src/org/apache/pivot/wtk/GridPane.java
+++ b/wtk/src/org/apache/pivot/wtk/GridPane.java
@@ -18,6 +18,7 @@
 
 import java.util.Iterator;
 
+import org.apache.pivot.annotations.UnsupportedOperation;
 import org.apache.pivot.beans.DefaultProperty;
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Sequence;
@@ -204,6 +205,7 @@
         }
 
         @Override
+        @UnsupportedOperation
         public Row update(int index, Row row) {
             throw new UnsupportedOperationException();
         }
@@ -412,7 +414,7 @@
 
             for (Row row : rows) {
                 if (row.indexOf(component) >= 0) {
-                    throw new UnsupportedOperationException();
+                    throw new UnsupportedOperationException("Cannot directly remove a row from a GridPane.");
                 }
             }
         }