Finalizing IsRenderable API step 1: renaming wrapElement() and performDetachedInitialization().

Review at http://gwt-code-reviews.appspot.com/1463804

Review by: rchandia@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10352 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/elementparsers/IsRenderableInterpreter.java b/user/src/com/google/gwt/uibinder/elementparsers/IsRenderableInterpreter.java
index 3a0b328..b1d92cf 100644
--- a/user/src/com/google/gwt/uibinder/elementparsers/IsRenderableInterpreter.java
+++ b/user/src/com/google/gwt/uibinder/elementparsers/IsRenderableInterpreter.java
@@ -56,14 +56,14 @@
         "com.google.gwt.dom.client.Document.get().getElementById(%s).cast();",
         elementPointer, fieldManager.convertFieldToGetter(idHolder));
     fieldWriter.addAttachStatement(
-        "%s.wrapElement(%s);",
+        "%s.claimElement(%s);",
         fieldManager.convertFieldToGetter(childFieldWriter.getName()),
         elementPointer);
 
     // Some operations are more efficient when the Widget isn't attached to
     // the document. Perform them here.
     fieldWriter.addDetachStatement(
-        "%s.performDetachedInitialization();",
+        "%s.initializeClaimedElement();",
         fieldManager.convertFieldToGetter(childFieldWriter.getName()));
 
     fieldWriter.addDetachStatement(
diff --git a/user/src/com/google/gwt/user/client/ui/Composite.java b/user/src/com/google/gwt/user/client/ui/Composite.java
index 78cca37..6fbbeb1 100644
--- a/user/src/com/google/gwt/user/client/ui/Composite.java
+++ b/user/src/com/google/gwt/user/client/ui/Composite.java
@@ -57,6 +57,25 @@
   private Element elementToWrap;
 
   @Override
+  public final void claimElement(Element element) {
+    if (renderable != null) {
+      renderable.claimElement(element);
+      setElement(widget.getElement());
+    } else {
+      this.elementToWrap = element;
+    }
+  }
+
+  @Override
+  public final void initializeClaimedElement() {
+    if (renderable != null) {
+      renderable.initializeClaimedElement();
+    } else {
+      elementToWrap.getParentNode().replaceChild(widget.getElement(), elementToWrap);
+    }
+  }
+
+  @Override
   public boolean isAttached() {
     if (widget != null) {
       return widget.isAttached();
@@ -74,15 +93,6 @@
   }
 
   @Override
-  public final void performDetachedInitialization() {
-    if (renderable != null) {
-      renderable.performDetachedInitialization();
-    } else {
-      elementToWrap.getParentNode().replaceChild(widget.getElement(), elementToWrap);
-    }
-  }
-
-  @Override
   public final SafeHtml render(String id) {
     if (renderable != null) {
       return renderable.render(id);
@@ -102,16 +112,6 @@
     }
   }
 
-  @Override
-  public final void wrapElement(Element element) {
-    if (renderable != null) {
-      renderable.wrapElement(element);
-      setElement(widget.getElement());
-    } else {
-      this.elementToWrap = element;
-    }
-  }
-
   /**
    * Provides subclasses access to the topmost widget that defines this
    * composite.
diff --git a/user/src/com/google/gwt/user/client/ui/IsRenderable.java b/user/src/com/google/gwt/user/client/ui/IsRenderable.java
index 805fc5b..15a12be 100644
--- a/user/src/com/google/gwt/user/client/ui/IsRenderable.java
+++ b/user/src/com/google/gwt/user/client/ui/IsRenderable.java
@@ -30,10 +30,16 @@
 public interface IsRenderable {
 
   /**
-   * Perform any initialization needed when the widget is not attached to
-   * the document. Assumed to be called after {@link #wrapElement}.
+   * Replace the previous contents of the receiver with the given element,
+   * presumed to have been created via a previous call to {@link #render}.
    */
-  void performDetachedInitialization();
+  void claimElement(Element element);
+
+  /**
+   * Perform any initialization needed when the widget is not attached to
+   * the document. Assumed to be called after {@link #claimElement}.
+   */
+  void initializeClaimedElement();
 
   /**
    * @see #render(String, SafeHtmlBuilder)
@@ -46,11 +52,4 @@
    * The root element of the HTML must be identifies by the given id.
    */
   void render(String id, SafeHtmlBuilder builder);
-
-  /**
-   * Replace the previous contents of the receiver with the given element,
-   * presumed to have been created via a previous call to {@link #render}.
-   * Assumes the element is attached to the document.
-   */
-  void wrapElement(Element element);
 }
diff --git a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
index 6080825..4d26c2f 100644
--- a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
+++ b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
@@ -139,6 +139,35 @@
     this.addAndReplaceElement(widget.asWidget(), toReplace);
   }
 
+  @Override
+  public void claimElement(Element element) {
+    if (isFullyInitialized()) {
+      /*
+       * If claimElement is being called after the widget is fully initialized,
+       * that's probably a programming error, as it's much more efficient to
+       * build the whole tree at once.
+       */
+      throw new IllegalStateException(
+          "claimElement() cannot be called twice, or after forcing the widget to"
+          + " render itself (e.g. after adding it to a panel)");
+    }
+
+    setElement(element);
+    html = null;
+    if (wrapInitializationCallback != null) {
+      wrapInitializationCallback.execute();
+      wrapInitializationCallback = null;
+    }
+  }
+
+  @Override
+  public void initializeClaimedElement() {
+    if (detachedInitializationCallback != null) {
+      detachedInitializationCallback.execute();
+      detachedInitializationCallback = null;
+    }
+  }
+
   /**
    * Adopts the given, but doesn't change anything about its DOM element.
    * Should only be used for widgets with elements that are children of this
@@ -157,14 +186,6 @@
   }
 
   @Override
-  public void performDetachedInitialization() {
-    if (detachedInitializationCallback != null) {
-      detachedInitializationCallback.execute();
-      detachedInitializationCallback = null;
-    }
-  }
-
-  @Override
   public SafeHtml render(String id) {
     SafeHtmlBuilder builder = new SafeHtmlBuilder();
     render(id, builder);
@@ -189,27 +210,6 @@
     return getElement();
   }
 
-  @Override
-  public void wrapElement(Element element) {
-    if (isFullyInitialized()) {
-      /*
-       * If wrapElement is being called after the widget is fully initialized,
-       * that's probably a programming error, as it's much more efficient to
-       * build the whole tree at once.
-       */
-      throw new IllegalStateException(
-          "wrapElement() cannot be called twice, or after forcing the widget to"
-          + " render itself (e.g. after adding it to a panel)");
-    }
-
-    setElement(element);
-    html = null;
-    if (wrapInitializationCallback != null) {
-      wrapInitializationCallback.execute();
-      wrapInitializationCallback = null;
-    }
-  }
-
   /**
    * Returns the HTML to be set as the innerHTML of the container.
    */