Deprecate all generated and handmade elemental classes

Change-Id: I1c50c64fb18c8f3b4e9a51cf2434b37a6ded08bd
diff --git a/elemental/idl/css/generate-style.py b/elemental/idl/css/generate-style.py
index 3478d27..7cd28d0 100755
--- a/elemental/idl/css/generate-style.py
+++ b/elemental/idl/css/generate-style.py
@@ -53,6 +53,7 @@
 /**
   * $CLASS_JAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 $!MEMBERS
 """)
@@ -77,6 +78,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 $!MEMBERS
@@ -114,7 +116,7 @@
       js_prop = "this." + js_prop
 
     if output_mode == 'enum':
-      wintf('\npublic interface %s {\n' % method_suffix)
+      wintf('\n@Deprecated\npublic interface %s {\n' % method_suffix)
       for p in params:
         wintf(CONST_PREFIX + PropToConstant(p) + ' = "' + p + '";\n')
       wintf('}\n\n')
diff --git a/elemental/idl/templates/java_impl.darttemplate b/elemental/idl/templates/java_impl.darttemplate
index 3b4c501..f3d9363 100644
--- a/elemental/idl/templates/java_impl.darttemplate
+++ b/elemental/idl/templates/java_impl.darttemplate
@@ -6,5 +6,6 @@
 /**
   * $CLASS_JAVADOC
   */
+@Deprecated
 public class $CLASSNAME$EXTENDS$IMPLEMENTS {
 $!MEMBERS}
diff --git a/elemental/idl/templates/java_interface.darttemplate b/elemental/idl/templates/java_interface.darttemplate
index eb6564e..a41fe81 100644
--- a/elemental/idl/templates/java_interface.darttemplate
+++ b/elemental/idl/templates/java_interface.darttemplate
@@ -27,5 +27,6 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 $!MEMBERS}
diff --git a/elemental/idl/templates/java_interface_Document.darttemplate b/elemental/idl/templates/java_interface_Document.darttemplate
index 6fdc25e..0f8e283 100644
--- a/elemental/idl/templates/java_interface_Document.darttemplate
+++ b/elemental/idl/templates/java_interface_Document.darttemplate
@@ -28,11 +28,13 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 
 /**
  * Contains the set of standard values used with {@link #createEvent}.
  */
+@Deprecated
 public interface Events {
   public static final String CUSTOM = "CustomEvent";
   public static final String KEYBOARD = "KeyboardEvent";
@@ -56,6 +58,7 @@
 /**
  * Contains the set of standard values returned by {@link #readyState}.
  */
+@Deprecated
 public interface ReadyState {
 
   /**
diff --git a/elemental/idl/templates/java_interface_Event.darttemplate b/elemental/idl/templates/java_interface_Event.darttemplate
index b550de3..5433ea4 100644
--- a/elemental/idl/templates/java_interface_Event.darttemplate
+++ b/elemental/idl/templates/java_interface_Event.darttemplate
@@ -28,6 +28,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 public static final String CLICK = "click";
 public static final String CONTEXTMENU = "contextmenu";
diff --git a/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate b/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
index 8962984..60a3812 100644
--- a/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
+++ b/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
@@ -28,10 +28,12 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 /**
  * Defines the standard key locations returned by {@link #getKeyLocation}.
  */
+@Deprecated
 public interface KeyLocation {
 
   /**
@@ -75,6 +77,7 @@
  *
  * @see "http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/events/keycodes.js"
  */
+@Deprecated
 public interface KeyCode {
   public static final int BACKSPACE = 8;
   public static final int TAB = 9;
@@ -185,6 +188,7 @@
  * by {@link #getKeyboardIdentifier} when the key does not have a direct
  * unicode mapping.
  */
+@Deprecated
 public interface KeyName {
 
   /** The Accept (Commit, OK) key */
diff --git a/elemental/idl/templates/java_interface_MouseEvent.darttemplate b/elemental/idl/templates/java_interface_MouseEvent.darttemplate
index cdbc7f9..3d9ff37 100644
--- a/elemental/idl/templates/java_interface_MouseEvent.darttemplate
+++ b/elemental/idl/templates/java_interface_MouseEvent.darttemplate
@@ -28,10 +28,12 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
   /**
    * Contains the set of standard values returned by {@link #button}.
    */
+  @Deprecated
   public interface Button {
     public static final short PRIMARY = 0;
     public static final short AUXILIARY = 1;
diff --git a/elemental/idl/templates/java_interface_Window.darttemplate b/elemental/idl/templates/java_interface_Window.darttemplate
index e049366..f1455b2 100644
--- a/elemental/idl/templates/java_interface_Window.darttemplate
+++ b/elemental/idl/templates/java_interface_Window.darttemplate
@@ -30,6 +30,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
   void clearOpener();
 $!MEMBERS}
diff --git a/elemental/idl/templates/javacallback.darttemplate b/elemental/idl/templates/javacallback.darttemplate
index 35ffd5f..0e6644e 100644
--- a/elemental/idl/templates/javacallback.darttemplate
+++ b/elemental/idl/templates/javacallback.darttemplate
@@ -23,6 +23,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $NAME {
   $TYPE on$NAME($PARAMS);
 }
diff --git a/elemental/idl/templates/jso_impl.darttemplate b/elemental/idl/templates/jso_impl.darttemplate
index b25fb0d..837a5b7 100644
--- a/elemental/idl/templates/jso_impl.darttemplate
+++ b/elemental/idl/templates/jso_impl.darttemplate
@@ -33,6 +33,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 $!MEMBERS}
diff --git a/elemental/idl/templates/jso_impl_Document.darttemplate b/elemental/idl/templates/jso_impl_Document.darttemplate
index 2e5f7ac..e41d5e0 100644
--- a/elemental/idl/templates/jso_impl_Document.darttemplate
+++ b/elemental/idl/templates/jso_impl_Document.darttemplate
@@ -35,6 +35,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 
diff --git a/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate b/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
index c894b69..5e2c124 100644
--- a/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
+++ b/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
@@ -34,6 +34,7 @@
   * may implement a given interface, we hoist all of the explicit
   * mixin classes into a base JSO used by all of elemental.
   */
+@Deprecated
 public class JsElementalMixinBase $EXTENDS $IMPLEMENTS {
   protected JsElementalMixinBase() {}
 $!MEMBERS
diff --git a/elemental/idl/templates/jso_impl_Window.darttemplate b/elemental/idl/templates/jso_impl_Window.darttemplate
index 9eb300b..9b6ae03 100644
--- a/elemental/idl/templates/jso_impl_Window.darttemplate
+++ b/elemental/idl/templates/jso_impl_Window.darttemplate
@@ -37,6 +37,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 
diff --git a/elemental/src/elemental/client/Browser.java b/elemental/src/elemental/client/Browser.java
index 5786b70..0f86577 100644
--- a/elemental/src/elemental/client/Browser.java
+++ b/elemental/src/elemental/client/Browser.java
@@ -22,6 +22,7 @@
 /**
  * Entry-point for getting the access to browser globals.
  */
+@Deprecated
 public class Browser {
 
   /**
@@ -31,6 +32,7 @@
    * 
    * TODO(knorton): Add the gwt.xml file that enables permutations.
    */
+  @Deprecated
   public interface Info {
     
     /**
diff --git a/elemental/src/elemental/events/EventRemover.java b/elemental/src/elemental/events/EventRemover.java
index d993f59..4d61a79 100644
--- a/elemental/src/elemental/events/EventRemover.java
+++ b/elemental/src/elemental/events/EventRemover.java
@@ -16,6 +16,7 @@
 
 package elemental.events;
 
+@Deprecated
 public interface EventRemover {
   void remove();
 }
diff --git a/elemental/src/elemental/js/JsBrowser.java b/elemental/src/elemental/js/JsBrowser.java
index 553b10c..e643ebf 100755
--- a/elemental/src/elemental/js/JsBrowser.java
+++ b/elemental/src/elemental/js/JsBrowser.java
@@ -25,6 +25,7 @@
 /**
  * JavaScript native implementation of {@link elemental.client.Browser}.
  */
+@Deprecated
 public class JsBrowser {
   /**
    * A {@link Browser.Info} implementation for when the browser is known to be
@@ -74,6 +75,7 @@
    * A {@link Browser.Info} implementation for when the browser is known to be
    * WebKit at compile time.
    */
+  @Deprecated
   @SuppressWarnings("unused")
   private static class InfoWhenKnownWebKit extends InfoWhenUnknown {
     @Override
diff --git a/elemental/src/elemental/js/json/JsJsonArray.java b/elemental/src/elemental/js/json/JsJsonArray.java
index faf66c0..e12dce0 100644
--- a/elemental/src/elemental/js/json/JsJsonArray.java
+++ b/elemental/src/elemental/js/json/JsJsonArray.java
@@ -28,6 +28,7 @@
 /**
  * Client-side implementation of JsonArray.
  */
+@Deprecated
 final public class JsJsonArray extends JsJsonValue
     implements JsonArray {
 
diff --git a/elemental/src/elemental/js/json/JsJsonBoolean.java b/elemental/src/elemental/js/json/JsJsonBoolean.java
index 66192d1..0c83c41 100644
--- a/elemental/src/elemental/js/json/JsJsonBoolean.java
+++ b/elemental/src/elemental/js/json/JsJsonBoolean.java
@@ -21,6 +21,7 @@
  * Client-side 'low overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonBoolean extends JsJsonValue
     implements JsonBoolean {
 
diff --git a/elemental/src/elemental/js/json/JsJsonFactory.java b/elemental/src/elemental/js/json/JsJsonFactory.java
index 6ff1688..a9801ad 100644
--- a/elemental/src/elemental/js/json/JsJsonFactory.java
+++ b/elemental/src/elemental/js/json/JsJsonFactory.java
@@ -26,6 +26,7 @@
 /**
  * JSNI based implementation of JsonFactory.
  */
+@Deprecated
 public class JsJsonFactory implements JsonFactory {
 
   private static native <T extends JsonValue> T parse0(String jsonString) /*-{
diff --git a/elemental/src/elemental/js/json/JsJsonNull.java b/elemental/src/elemental/js/json/JsJsonNull.java
index 33d999e..deff463 100644
--- a/elemental/src/elemental/js/json/JsJsonNull.java
+++ b/elemental/src/elemental/js/json/JsJsonNull.java
@@ -21,6 +21,7 @@
  * Client-side implementation of JsonNull as "extension methods" on an actual
  * null.
  */
+@Deprecated
 final public class JsJsonNull extends JsJsonValue
     implements JsonNull {
 
diff --git a/elemental/src/elemental/js/json/JsJsonNumber.java b/elemental/src/elemental/js/json/JsJsonNumber.java
index b9a444c..c9115b2 100644
--- a/elemental/src/elemental/js/json/JsJsonNumber.java
+++ b/elemental/src/elemental/js/json/JsJsonNumber.java
@@ -21,6 +21,7 @@
  * Client-side 'low overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonNumber extends JsJsonValue
     implements JsonNumber {
 
diff --git a/elemental/src/elemental/js/json/JsJsonObject.java b/elemental/src/elemental/js/json/JsJsonObject.java
index 67af50f..823fa3c 100644
--- a/elemental/src/elemental/js/json/JsJsonObject.java
+++ b/elemental/src/elemental/js/json/JsJsonObject.java
@@ -28,6 +28,7 @@
 /**
  * Client-side implementation of JsonObject interface.
  */
+@Deprecated
 final public class JsJsonObject extends JsJsonValue
     implements JsonObject {
 
diff --git a/elemental/src/elemental/js/json/JsJsonString.java b/elemental/src/elemental/js/json/JsJsonString.java
index 15923e0..d6b4c1f 100644
--- a/elemental/src/elemental/js/json/JsJsonString.java
+++ b/elemental/src/elemental/js/json/JsJsonString.java
@@ -21,6 +21,7 @@
  * Client-side 'zero overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonString extends JsJsonValue
     implements JsonString {
   
diff --git a/elemental/src/elemental/js/json/JsJsonValue.java b/elemental/src/elemental/js/json/JsJsonValue.java
index 5698016..5a8b696 100644
--- a/elemental/src/elemental/js/json/JsJsonValue.java
+++ b/elemental/src/elemental/js/json/JsJsonValue.java
@@ -23,6 +23,7 @@
 /**
  * JSO backed implementation of JsonValue.
  */
+@Deprecated
 public class JsJsonValue extends JavaScriptObject implements JsonValue {
 
   static native JsonValue box(JsonValue value) /*-{
diff --git a/elemental/src/elemental/js/util/JsArrayOf.java b/elemental/src/elemental/js/util/JsArrayOf.java
index 74d9e39..8b2100c 100644
--- a/elemental/src/elemental/js/util/JsArrayOf.java
+++ b/elemental/src/elemental/js/util/JsArrayOf.java
@@ -23,6 +23,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOf}.
  */
+@Deprecated
 public final class JsArrayOf<T> extends JavaScriptObject implements ArrayOf<T> {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfBoolean.java b/elemental/src/elemental/js/util/JsArrayOfBoolean.java
index 1b3495d..08fe572 100644
--- a/elemental/src/elemental/js/util/JsArrayOfBoolean.java
+++ b/elemental/src/elemental/js/util/JsArrayOfBoolean.java
@@ -23,6 +23,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfBoolean}.
  */
+@Deprecated
 public final class JsArrayOfBoolean extends JsArrayBoolean implements ArrayOfBoolean {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfInt.java b/elemental/src/elemental/js/util/JsArrayOfInt.java
index b95e64e..c294dc5 100644
--- a/elemental/src/elemental/js/util/JsArrayOfInt.java
+++ b/elemental/src/elemental/js/util/JsArrayOfInt.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript implementation of {@link ArrayOfInt}.
  */
+@Deprecated
 public final class JsArrayOfInt extends JsArrayInteger implements ArrayOfInt {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfNumber.java b/elemental/src/elemental/js/util/JsArrayOfNumber.java
index b902c8a..54d30c2 100644
--- a/elemental/src/elemental/js/util/JsArrayOfNumber.java
+++ b/elemental/src/elemental/js/util/JsArrayOfNumber.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfNumber}.
  */
+@Deprecated
 public final class JsArrayOfNumber extends JsArrayNumber implements ArrayOfNumber {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfString.java b/elemental/src/elemental/js/util/JsArrayOfString.java
index 3b50028..9ce884a 100644
--- a/elemental/src/elemental/js/util/JsArrayOfString.java
+++ b/elemental/src/elemental/js/util/JsArrayOfString.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfString}.
  */
+@Deprecated
 public final class JsArrayOfString extends JsArrayString implements ArrayOfString {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsElementalBase.java b/elemental/src/elemental/js/util/JsElementalBase.java
index 56fac9e..2aad045 100644
--- a/elemental/src/elemental/js/util/JsElementalBase.java
+++ b/elemental/src/elemental/js/util/JsElementalBase.java
@@ -23,6 +23,7 @@
  * Indexable, Settable, Mappable.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsElementalBase extends JavaScriptObject implements Mappable, 
     Indexable, IndexableInt, IndexableNumber, Settable, SettableInt, SettableNumber {
 
diff --git a/elemental/src/elemental/js/util/JsGlobals.java b/elemental/src/elemental/js/util/JsGlobals.java
index 16df9b4..b47caa1 100644
--- a/elemental/src/elemental/js/util/JsGlobals.java
+++ b/elemental/src/elemental/js/util/JsGlobals.java
@@ -21,6 +21,7 @@
  * A utility class for accessing global functions and values in an ECMAScript
  * context.
  */
+@Deprecated
 public class JsGlobals {
   /**
    * Decodes an encoded URI to a URI string.
diff --git a/elemental/src/elemental/js/util/JsIndexable.java b/elemental/src/elemental/js/util/JsIndexable.java
index e062f9e..159b5b4 100644
--- a/elemental/src/elemental/js/util/JsIndexable.java
+++ b/elemental/src/elemental/js/util/JsIndexable.java
@@ -21,6 +21,7 @@
 /**
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsIndexable extends JsElementalBase implements Indexable {
   protected JsIndexable() {}
 }
diff --git a/elemental/src/elemental/js/util/JsMapFromIntTo.java b/elemental/src/elemental/js/util/JsMapFromIntTo.java
index d3ab0da..06f3859 100644
--- a/elemental/src/elemental/js/util/JsMapFromIntTo.java
+++ b/elemental/src/elemental/js/util/JsMapFromIntTo.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromIntTo}.
  */
+@Deprecated
 public final class JsMapFromIntTo<V> extends JavaScriptObject implements MapFromIntTo<V> {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromIntToString.java b/elemental/src/elemental/js/util/JsMapFromIntToString.java
index 7eeae7e..fe5442d 100644
--- a/elemental/src/elemental/js/util/JsMapFromIntToString.java
+++ b/elemental/src/elemental/js/util/JsMapFromIntToString.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromIntToString}.
  */
+@Deprecated
 public final class JsMapFromIntToString extends JavaScriptObject implements MapFromIntToString {
   /**
    * Create a new empty map instance.
diff --git a/elemental/src/elemental/js/util/JsMapFromStringTo.java b/elemental/src/elemental/js/util/JsMapFromStringTo.java
index 1d2d357..0fd98e3 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringTo.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringTo.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromStringTo}.
  */
+@Deprecated
 public final class JsMapFromStringTo<V> extends JavaScriptObject implements MapFromStringTo<V> {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java b/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
index 03d88f2..7d7fa6e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToBoolean}.
  */
+@Deprecated
 public final class JsMapFromStringToBoolean extends JavaScriptObject
     implements MapFromStringToBoolean {
 
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToInt.java b/elemental/src/elemental/js/util/JsMapFromStringToInt.java
index 7b56d79..d185a4e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToInt.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToInt.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromStringToInt}.
  */
+@Deprecated
 public final class JsMapFromStringToInt extends JavaScriptObject implements MapFromStringToInt {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToNumber.java b/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
index 3646dfa..0e6ce5e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToNumber}.
  */
+@Deprecated
 public final class JsMapFromStringToNumber extends JavaScriptObject
     implements MapFromStringToNumber {
 
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToString.java b/elemental/src/elemental/js/util/JsMapFromStringToString.java
index 24a69c4..9a8cb05 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToString.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToString.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToString}.
  */
+@Deprecated
 public final class JsMapFromStringToString extends JavaScriptObject
     implements MapFromStringToString {
 
diff --git a/elemental/src/elemental/js/util/JsMappable.java b/elemental/src/elemental/js/util/JsMappable.java
index e5961fa..ba4567a 100644
--- a/elemental/src/elemental/js/util/JsMappable.java
+++ b/elemental/src/elemental/js/util/JsMappable.java
@@ -21,6 +21,7 @@
 /**
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsMappable extends JsElementalBase implements Mappable {
   protected JsMappable() {}
 }
diff --git a/elemental/src/elemental/js/util/Json.java b/elemental/src/elemental/js/util/Json.java
index d676b45..9910a21 100644
--- a/elemental/src/elemental/js/util/Json.java
+++ b/elemental/src/elemental/js/util/Json.java
@@ -21,6 +21,7 @@
  * A static API to the browser's JSON object.
  * TODO(knorton) : Remove this when generated DOM bindings are submitted. 
  */
+@Deprecated
 public class Json {
   /**
    * Parse a string containing JSON into a {@link JavaScriptObject}.
diff --git a/elemental/src/elemental/js/util/Numbers.java b/elemental/src/elemental/js/util/Numbers.java
index 61348db..ab22fdb 100644
--- a/elemental/src/elemental/js/util/Numbers.java
+++ b/elemental/src/elemental/js/util/Numbers.java
@@ -18,6 +18,7 @@
 /**
  * Utility class for miscellaneous numeric stuff.
  */
+@Deprecated
 public class Numbers {
   /**
    * Converts a <code>double</code> to a {@link String} with a specified number
diff --git a/elemental/src/elemental/js/util/StringUtil.java b/elemental/src/elemental/js/util/StringUtil.java
index 064716c..0c0697c 100644
--- a/elemental/src/elemental/js/util/StringUtil.java
+++ b/elemental/src/elemental/js/util/StringUtil.java
@@ -22,6 +22,7 @@
  * supported directly in {@link String} in order to use the proper elemental
  * types.
  */
+@Deprecated
 public class StringUtil {
   
   /**
diff --git a/elemental/src/elemental/js/util/Xhr.java b/elemental/src/elemental/js/util/Xhr.java
index 525b383..050cc61 100644
--- a/elemental/src/elemental/js/util/Xhr.java
+++ b/elemental/src/elemental/js/util/Xhr.java
@@ -26,11 +26,13 @@
 /**
  * A Simpler way to use {@link XMLHttpRequest}.
  */
+@Deprecated
 public class Xhr {
   /**
    * Interface for getting notified when an XHR successfully completes, or
    * errors out.
    */
+  @Deprecated
   public interface Callback {
     void onFail(XMLHttpRequest xhr);
 
diff --git a/elemental/src/elemental/json/Json.java b/elemental/src/elemental/json/Json.java
index 3c4902c..6b57d60 100644
--- a/elemental/src/elemental/json/Json.java
+++ b/elemental/src/elemental/json/Json.java
@@ -20,6 +20,7 @@
 /**
  * Vends out implementation of JsonFactory.
  */
+@Deprecated
 public class Json {
 
   public static JsonString create(String string) {
diff --git a/elemental/src/elemental/json/JsonArray.java b/elemental/src/elemental/json/JsonArray.java
index 17b324d..0464ff2 100644
--- a/elemental/src/elemental/json/JsonArray.java
+++ b/elemental/src/elemental/json/JsonArray.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json array.
  */
+@Deprecated
 public interface JsonArray extends JsonValue {
 
   /**
diff --git a/elemental/src/elemental/json/JsonBoolean.java b/elemental/src/elemental/json/JsonBoolean.java
index 35d9e07..fe8ccc6 100644
--- a/elemental/src/elemental/json/JsonBoolean.java
+++ b/elemental/src/elemental/json/JsonBoolean.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json boolean.
  */
+@Deprecated
 public interface JsonBoolean extends JsonValue {
   boolean getBoolean();
 }
diff --git a/elemental/src/elemental/json/JsonException.java b/elemental/src/elemental/json/JsonException.java
index ef6d97b..d4008f2 100644
--- a/elemental/src/elemental/json/JsonException.java
+++ b/elemental/src/elemental/json/JsonException.java
@@ -18,6 +18,7 @@
 /**
  * A exception representing an error in parsing or serializing Json.
  */
+@Deprecated
 public class JsonException extends RuntimeException {
 
   public JsonException(String s) {
diff --git a/elemental/src/elemental/json/JsonFactory.java b/elemental/src/elemental/json/JsonFactory.java
index 8e09e7c..97a387d 100644
--- a/elemental/src/elemental/json/JsonFactory.java
+++ b/elemental/src/elemental/json/JsonFactory.java
@@ -18,6 +18,7 @@
 /**
  * Factory interface for parsing and creating JSON objects.
  */
+@Deprecated
 public interface JsonFactory {
 
   /**
diff --git a/elemental/src/elemental/json/JsonNull.java b/elemental/src/elemental/json/JsonNull.java
index cdd87c5..95fa8e3 100644
--- a/elemental/src/elemental/json/JsonNull.java
+++ b/elemental/src/elemental/json/JsonNull.java
@@ -18,5 +18,6 @@
 /**
  * Represents the Json null value.
  */
+@Deprecated
 public interface JsonNull extends JsonValue {
 }
diff --git a/elemental/src/elemental/json/JsonNumber.java b/elemental/src/elemental/json/JsonNumber.java
index 13f9856..8614e4a 100644
--- a/elemental/src/elemental/json/JsonNumber.java
+++ b/elemental/src/elemental/json/JsonNumber.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json number value.
  */
+@Deprecated
 public interface JsonNumber extends JsonValue {
   double getNumber();
 }
diff --git a/elemental/src/elemental/json/JsonObject.java b/elemental/src/elemental/json/JsonObject.java
index c8be0b1..e0a1c69 100644
--- a/elemental/src/elemental/json/JsonObject.java
+++ b/elemental/src/elemental/json/JsonObject.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json object.
  */
+@Deprecated
 public interface JsonObject extends JsonValue {
 
   /**
diff --git a/elemental/src/elemental/json/JsonString.java b/elemental/src/elemental/json/JsonString.java
index 2941fe2..de35df7 100644
--- a/elemental/src/elemental/json/JsonString.java
+++ b/elemental/src/elemental/json/JsonString.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json String value.
  */
+@Deprecated
 public interface JsonString extends JsonValue {
   String getString();
 }
diff --git a/elemental/src/elemental/json/JsonType.java b/elemental/src/elemental/json/JsonType.java
index 6af0560..8bf8e1d 100644
--- a/elemental/src/elemental/json/JsonType.java
+++ b/elemental/src/elemental/json/JsonType.java
@@ -18,6 +18,7 @@
 /**
  * Represents the type of the underlying JsonValue.
  */
+@Deprecated
 public enum JsonType {
   OBJECT, ARRAY, STRING, NUMBER, BOOLEAN, NULL;
 }
diff --git a/elemental/src/elemental/json/JsonValue.java b/elemental/src/elemental/json/JsonValue.java
index c0de7ab..d9319c4 100644
--- a/elemental/src/elemental/json/JsonValue.java
+++ b/elemental/src/elemental/json/JsonValue.java
@@ -20,6 +20,7 @@
 /**
  * Base interface for all Json values.
  */
+@Deprecated
 public interface JsonValue extends Serializable {
 
   /**
diff --git a/elemental/src/elemental/json/impl/JreJsonArray.java b/elemental/src/elemental/json/impl/JreJsonArray.java
index 581c7cc..e8ec6d7 100644
--- a/elemental/src/elemental/json/impl/JreJsonArray.java
+++ b/elemental/src/elemental/json/impl/JreJsonArray.java
@@ -34,6 +34,7 @@
 /**
  * Server-side implementation of JsonArray.
  */
+@Deprecated
 public class JreJsonArray extends JreJsonValue implements JsonArray {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonBoolean.java b/elemental/src/elemental/json/impl/JreJsonBoolean.java
index 9a03159..df47f31 100644
--- a/elemental/src/elemental/json/impl/JreJsonBoolean.java
+++ b/elemental/src/elemental/json/impl/JreJsonBoolean.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonBoolean.
  */
+@Deprecated
 public class JreJsonBoolean extends JreJsonValue implements JsonBoolean {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonFactory.java b/elemental/src/elemental/json/impl/JreJsonFactory.java
index edc8706..7f5a9f3 100644
--- a/elemental/src/elemental/json/impl/JreJsonFactory.java
+++ b/elemental/src/elemental/json/impl/JreJsonFactory.java
@@ -29,6 +29,7 @@
 /**
  * Implementation of JsonFactory interface using org.json library.
  */
+@Deprecated
 public class JreJsonFactory implements JsonFactory {
 
   public JsonString create(String string) {
diff --git a/elemental/src/elemental/json/impl/JreJsonNull.java b/elemental/src/elemental/json/impl/JreJsonNull.java
index 7852370..d8d1bbb 100644
--- a/elemental/src/elemental/json/impl/JreJsonNull.java
+++ b/elemental/src/elemental/json/impl/JreJsonNull.java
@@ -24,6 +24,7 @@
 /**
  * Server-side implementation of JsonObject.
  */
+@Deprecated
 public class JreJsonNull extends JreJsonValue implements JsonNull {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonNumber.java b/elemental/src/elemental/json/impl/JreJsonNumber.java
index 9739dc1..d42b6dd 100644
--- a/elemental/src/elemental/json/impl/JreJsonNumber.java
+++ b/elemental/src/elemental/json/impl/JreJsonNumber.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonNumber.
  */
+@Deprecated
 public class JreJsonNumber extends JreJsonValue implements JsonNumber {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonObject.java b/elemental/src/elemental/json/impl/JreJsonObject.java
index cbc1faa..6884ba0 100644
--- a/elemental/src/elemental/json/impl/JreJsonObject.java
+++ b/elemental/src/elemental/json/impl/JreJsonObject.java
@@ -38,6 +38,7 @@
 /**
  * Server-side implementation of JsonObject.
  */
+@Deprecated
 public class JreJsonObject extends JreJsonValue implements JsonObject {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonString.java b/elemental/src/elemental/json/impl/JreJsonString.java
index 857d6ee..8dbde87 100644
--- a/elemental/src/elemental/json/impl/JreJsonString.java
+++ b/elemental/src/elemental/json/impl/JreJsonString.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonString.
  */
+@Deprecated
 public class JreJsonString extends JreJsonValue implements JsonString {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonValue.java b/elemental/src/elemental/json/impl/JreJsonValue.java
index 94eccca..0e84bc5 100644
--- a/elemental/src/elemental/json/impl/JreJsonValue.java
+++ b/elemental/src/elemental/json/impl/JreJsonValue.java
@@ -24,6 +24,7 @@
 /**
  * JRE (non-Client) implementation of JreJsonValue.
  */
+@Deprecated
 public abstract class JreJsonValue implements JsonValue {
   public abstract Object getObject();
   public abstract void traverse(JsonVisitor visitor, JsonContext ctx);
diff --git a/elemental/src/elemental/json/impl/JsonArrayContext.java b/elemental/src/elemental/json/impl/JsonArrayContext.java
index f312f17..3c2613c 100644
--- a/elemental/src/elemental/json/impl/JsonArrayContext.java
+++ b/elemental/src/elemental/json/impl/JsonArrayContext.java
@@ -20,6 +20,7 @@
 /**
  * A {@link JsonContext} with integer based location context.
  */
+@Deprecated
 class JsonArrayContext extends JsonContext {
 
   int currentIndex = 0;
diff --git a/elemental/src/elemental/json/impl/JsonContext.java b/elemental/src/elemental/json/impl/JsonContext.java
index 37ad7b0..5e3ebe1 100644
--- a/elemental/src/elemental/json/impl/JsonContext.java
+++ b/elemental/src/elemental/json/impl/JsonContext.java
@@ -21,6 +21,7 @@
  * Represents the current location where a value is stored, and allows
  * the value's replacement or deletion.
  */
+@Deprecated
 abstract class JsonContext {
 
   private JsonValue value;
diff --git a/elemental/src/elemental/json/impl/JsonObjectContext.java b/elemental/src/elemental/json/impl/JsonObjectContext.java
index db7840f..912feb2 100644
--- a/elemental/src/elemental/json/impl/JsonObjectContext.java
+++ b/elemental/src/elemental/json/impl/JsonObjectContext.java
@@ -20,6 +20,7 @@
 /**
  * A {@link JsonContext} with String based location index.
  */
+@Deprecated
 class JsonObjectContext extends JsonContext {
 
   String currentKey;
diff --git a/elemental/src/elemental/json/impl/JsonTokenizer.java b/elemental/src/elemental/json/impl/JsonTokenizer.java
index b6cfbd5..2c37b61 100644
--- a/elemental/src/elemental/json/impl/JsonTokenizer.java
+++ b/elemental/src/elemental/json/impl/JsonTokenizer.java
@@ -26,6 +26,7 @@
  * Implementation of parsing a JSON string into instances of {@link
  * com.google.gwt.dev.json.JsonValue}.
  */
+@Deprecated
 class JsonTokenizer {
 
   private static final int INVALID_CHAR = -1;
diff --git a/elemental/src/elemental/json/impl/JsonUtil.java b/elemental/src/elemental/json/impl/JsonUtil.java
index b8c0613..b4b4e08 100644
--- a/elemental/src/elemental/json/impl/JsonUtil.java
+++ b/elemental/src/elemental/json/impl/JsonUtil.java
@@ -29,6 +29,7 @@
 /**
  * Direct port of json2.js at http://www.json.org/json2.js to GWT.
  */
+@Deprecated
 public class JsonUtil {
 
   private static class StringifyJsonVisitor extends JsonVisitor {
diff --git a/elemental/src/elemental/json/impl/JsonVisitor.java b/elemental/src/elemental/json/impl/JsonVisitor.java
index 517b947..70c2df5 100644
--- a/elemental/src/elemental/json/impl/JsonVisitor.java
+++ b/elemental/src/elemental/json/impl/JsonVisitor.java
@@ -30,6 +30,7 @@
  * returns a boolean that determines whether or not to process its contained
  * values.
  */
+@Deprecated
 class JsonVisitor {
 
   private class ImmutableJsonContext extends JsonContext {
diff --git a/elemental/src/elemental/util/ArrayOf.java b/elemental/src/elemental/util/ArrayOf.java
index b5a4e43..ed37f1f 100644
--- a/elemental/src/elemental/util/ArrayOf.java
+++ b/elemental/src/elemental/util/ArrayOf.java
@@ -22,6 +22,7 @@
  *
  * @see elemental.js.util.JsArrayOf
  */
+@Deprecated
 public interface ArrayOf<T> {
 
   /**
diff --git a/elemental/src/elemental/util/ArrayOfBoolean.java b/elemental/src/elemental/util/ArrayOfBoolean.java
index 1dd5c81..3064432 100644
--- a/elemental/src/elemental/util/ArrayOfBoolean.java
+++ b/elemental/src/elemental/util/ArrayOfBoolean.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfBoolean
  */
+@Deprecated
 public interface ArrayOfBoolean {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/ArrayOfInt.java b/elemental/src/elemental/util/ArrayOfInt.java
index cb4dbbf..e9cd5a8 100644
--- a/elemental/src/elemental/util/ArrayOfInt.java
+++ b/elemental/src/elemental/util/ArrayOfInt.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfInt
  */
+@Deprecated
 public interface ArrayOfInt {
 
   /**
diff --git a/elemental/src/elemental/util/ArrayOfNumber.java b/elemental/src/elemental/util/ArrayOfNumber.java
index fc25a54..8af4b07 100644
--- a/elemental/src/elemental/util/ArrayOfNumber.java
+++ b/elemental/src/elemental/util/ArrayOfNumber.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfNumber
  */
+@Deprecated
 public interface ArrayOfNumber {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/ArrayOfString.java b/elemental/src/elemental/util/ArrayOfString.java
index a976b0b..14442ae 100644
--- a/elemental/src/elemental/util/ArrayOfString.java
+++ b/elemental/src/elemental/util/ArrayOfString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsArrayOfString
  */
+@Deprecated
 public interface ArrayOfString {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/CanCompare.java b/elemental/src/elemental/util/CanCompare.java
index 4e18ec7..94c0960 100644
--- a/elemental/src/elemental/util/CanCompare.java
+++ b/elemental/src/elemental/util/CanCompare.java
@@ -24,6 +24,7 @@
  *
  * @param <T>
  */
+@Deprecated
 public interface CanCompare<T> {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareInt.java b/elemental/src/elemental/util/CanCompareInt.java
index bc1a20b..495713e 100644
--- a/elemental/src/elemental/util/CanCompareInt.java
+++ b/elemental/src/elemental/util/CanCompareInt.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfInt#sort(CanCompareInt)
  */
+@Deprecated
 public interface CanCompareInt {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareNumber.java b/elemental/src/elemental/util/CanCompareNumber.java
index 81c7749..121e864 100644
--- a/elemental/src/elemental/util/CanCompareNumber.java
+++ b/elemental/src/elemental/util/CanCompareNumber.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfNumber#sort(CanCompareNumber)
  */
+@Deprecated
 public interface CanCompareNumber {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareString.java b/elemental/src/elemental/util/CanCompareString.java
index 5c4f996..0ab4e1b 100644
--- a/elemental/src/elemental/util/CanCompareString.java
+++ b/elemental/src/elemental/util/CanCompareString.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfString#sort(CanCompareString)
  */
+@Deprecated
 public interface CanCompareString {
   
   /**
diff --git a/elemental/src/elemental/util/Collections.java b/elemental/src/elemental/util/Collections.java
index 738a42d..23a5d3e 100644
--- a/elemental/src/elemental/util/Collections.java
+++ b/elemental/src/elemental/util/Collections.java
@@ -33,6 +33,7 @@
 /**
  * Factory and utility methods for elemental collections.
  */
+@Deprecated
 public class Collections {
 
   /**
diff --git a/elemental/src/elemental/util/Indexable.java b/elemental/src/elemental/util/Indexable.java
index b559677..99ec3e7 100644
--- a/elemental/src/elemental/util/Indexable.java
+++ b/elemental/src/elemental/util/Indexable.java
@@ -19,6 +19,7 @@
  * Models any object which can act like a Javascript array, having length and a getter.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Indexable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/IndexableInt.java b/elemental/src/elemental/util/IndexableInt.java
index ecb373d..d856362 100644
--- a/elemental/src/elemental/util/IndexableInt.java
+++ b/elemental/src/elemental/util/IndexableInt.java
@@ -3,6 +3,7 @@
 /**
  * Models any object which acts like a Javascript array of primitive integers.
  */
+@Deprecated
 public interface IndexableInt extends IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/IndexableNumber.java b/elemental/src/elemental/util/IndexableNumber.java
index b419e65..d674b2d 100644
--- a/elemental/src/elemental/util/IndexableNumber.java
+++ b/elemental/src/elemental/util/IndexableNumber.java
@@ -3,6 +3,7 @@
 /**
  * Models any object which acts like a Javascript array of primitive numbers..
  */
+@Deprecated
 public interface IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromIntTo.java b/elemental/src/elemental/util/MapFromIntTo.java
index e1e8620..7a65cf9 100644
--- a/elemental/src/elemental/util/MapFromIntTo.java
+++ b/elemental/src/elemental/util/MapFromIntTo.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromIntTo
  */
+@Deprecated
 public interface MapFromIntTo<V> {
   /**
    * Retrieves a value for the specified key.
diff --git a/elemental/src/elemental/util/MapFromIntToString.java b/elemental/src/elemental/util/MapFromIntToString.java
index 88365f1..136946e 100644
--- a/elemental/src/elemental/util/MapFromIntToString.java
+++ b/elemental/src/elemental/util/MapFromIntToString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromIntToString
  */
+@Deprecated
 public interface MapFromIntToString {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringTo.java b/elemental/src/elemental/util/MapFromStringTo.java
index 3f3907e..3732537 100644
--- a/elemental/src/elemental/util/MapFromStringTo.java
+++ b/elemental/src/elemental/util/MapFromStringTo.java
@@ -22,6 +22,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringTo
  */
+@Deprecated
 public interface MapFromStringTo<V> {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToBoolean.java b/elemental/src/elemental/util/MapFromStringToBoolean.java
index 46f307a..8ad564d 100644
--- a/elemental/src/elemental/util/MapFromStringToBoolean.java
+++ b/elemental/src/elemental/util/MapFromStringToBoolean.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsMapFromStringToBoolean
  */
+@Deprecated
 public interface MapFromStringToBoolean {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToInt.java b/elemental/src/elemental/util/MapFromStringToInt.java
index fe732ad..2f17f6a 100644
--- a/elemental/src/elemental/util/MapFromStringToInt.java
+++ b/elemental/src/elemental/util/MapFromStringToInt.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToInt
  */
+@Deprecated
 public interface MapFromStringToInt {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToNumber.java b/elemental/src/elemental/util/MapFromStringToNumber.java
index c6c6694..4e13093 100644
--- a/elemental/src/elemental/util/MapFromStringToNumber.java
+++ b/elemental/src/elemental/util/MapFromStringToNumber.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToNumber
  */
+@Deprecated
 public interface MapFromStringToNumber {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToString.java b/elemental/src/elemental/util/MapFromStringToString.java
index de4437b..0afaeb5 100644
--- a/elemental/src/elemental/util/MapFromStringToString.java
+++ b/elemental/src/elemental/util/MapFromStringToString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToString
  */
+@Deprecated
 public interface MapFromStringToString {
 
   /**
diff --git a/elemental/src/elemental/util/Mappable.java b/elemental/src/elemental/util/Mappable.java
index 9f33d73..9797ad8 100644
--- a/elemental/src/elemental/util/Mappable.java
+++ b/elemental/src/elemental/util/Mappable.java
@@ -19,6 +19,7 @@
  * An object which can act like a Javascript object with String keys.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Mappable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/Settable.java b/elemental/src/elemental/util/Settable.java
index 6f25021..94f097d 100644
--- a/elemental/src/elemental/util/Settable.java
+++ b/elemental/src/elemental/util/Settable.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Settable /* <T> */ extends Indexable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/SettableInt.java b/elemental/src/elemental/util/SettableInt.java
index c915688..a1cb506 100644
--- a/elemental/src/elemental/util/SettableInt.java
+++ b/elemental/src/elemental/util/SettableInt.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface SettableInt extends IndexableInt {
 
   /**
diff --git a/elemental/src/elemental/util/SettableNumber.java b/elemental/src/elemental/util/SettableNumber.java
index 94b08e7..74a52ea 100644
--- a/elemental/src/elemental/util/SettableNumber.java
+++ b/elemental/src/elemental/util/SettableNumber.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface SettableNumber extends IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/Timer.java b/elemental/src/elemental/util/Timer.java
index 56ed9a8..fce710d 100644
--- a/elemental/src/elemental/util/Timer.java
+++ b/elemental/src/elemental/util/Timer.java
@@ -28,6 +28,7 @@
  * To schedule a timer, simply create a subclass of it (overriding {@link #run})
  * and call {@link #schedule} or {@link #scheduleRepeating}.
  */
+@Deprecated
 public abstract class Timer {
 
   private boolean isRepeating;
diff --git a/elemental/src/elemental/util/impl/JreArrayOf.java b/elemental/src/elemental/util/impl/JreArrayOf.java
index 3c0087b..cd2582b 100644
--- a/elemental/src/elemental/util/impl/JreArrayOf.java
+++ b/elemental/src/elemental/util/impl/JreArrayOf.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOf for server and dev mode.
  */
+@Deprecated
 public class JreArrayOf<T> implements ArrayOf<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfBoolean.java b/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
index 23e59e7..8731e27 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
@@ -23,6 +23,7 @@
 /**
  * JRE implementation of ArrayOfBoolean for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfBoolean implements ArrayOfBoolean {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfInt.java b/elemental/src/elemental/util/impl/JreArrayOfInt.java
index 14ba8af..d85cdcc 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfInt.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfInt.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOfInt for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfInt implements ArrayOfInt {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfNumber.java b/elemental/src/elemental/util/impl/JreArrayOfNumber.java
index ded7193..bdc5015 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfNumber.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfNumber.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOfInt for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfNumber implements ArrayOfNumber {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfString.java b/elemental/src/elemental/util/impl/JreArrayOfString.java
index 11fa335..66436d9 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfString.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfString.java
@@ -27,6 +27,7 @@
 /**
  * JRE implementation of ArrayOfString for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfString implements ArrayOfString {
 
   private ArrayOf<String> array;
diff --git a/elemental/src/elemental/util/impl/JreMapFromIntTo.java b/elemental/src/elemental/util/impl/JreMapFromIntTo.java
index 72eaef7..0a0c13b 100644
--- a/elemental/src/elemental/util/impl/JreMapFromIntTo.java
+++ b/elemental/src/elemental/util/impl/JreMapFromIntTo.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of MapFromIntTo for server and dev mode.
  */
+@Deprecated
 public class JreMapFromIntTo<T> implements MapFromIntTo<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromIntToString.java b/elemental/src/elemental/util/impl/JreMapFromIntToString.java
index 578674b..41928ac 100644
--- a/elemental/src/elemental/util/impl/JreMapFromIntToString.java
+++ b/elemental/src/elemental/util/impl/JreMapFromIntToString.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromIntToString for server and dev mode.
  */
+@Deprecated
 public class JreMapFromIntToString implements MapFromIntToString {
 
  /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringTo.java b/elemental/src/elemental/util/impl/JreMapFromStringTo.java
index 0045c01..e45472a 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringTo.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringTo.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of MapFromStringTo for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringTo<T> implements MapFromStringTo<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java b/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
index 23e5fb1..e69d6e7 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToBoolean for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToBoolean implements MapFromStringToBoolean {
 
  /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToInt.java b/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
index 58c1a67..2cde02d 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToInt for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToInt implements MapFromStringToInt {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java b/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
index 63ca0c4..f91fc48 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToNumber for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToNumber implements MapFromStringToNumber {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToString.java b/elemental/src/elemental/util/impl/JreMapFromStringToString.java
index 5ac73b4..4dae947 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToString.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToString.java
@@ -21,6 +21,7 @@
 /**
  * JRE implementation of MapFromStringToString for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToString implements MapFromStringToString {
 
   /*