public class PotentialElement extends Element
A simple Element implementation (not an actual dom
object) that can serve as stand in to be used by IsRenderable widgets
before they are fully built. For example, it can accumulate simple set*()
values to be used when the widget is actually ready to render. Thus, most
IsRenderable widget code can be written without taking into account
whether or not the widget has yet been rendered.
DOM#appendChild is aware of PotentialElement, and calls its
resolve() method. This triggers a call to
UIObject.resolvePotentialElement(), which widgets can customize
to get a real Element in place at the last moment.
TODO(rdcastro): Cover all unsupported methods with helpful error messages.
DRAGGABLE_AUTO, DRAGGABLE_FALSE, DRAGGABLE_TRUEDOCUMENT_NODE, ELEMENT_NODE, TEXT_NODE| Modifier | Constructor and Description |
|---|---|
protected |
PotentialElement() |
| Modifier and Type | Method and Description |
|---|---|
static PotentialElement |
as(Element e) |
static PotentialElement |
build(UIObject o)
Builds a new PotentialElement with the tag name set to "div".
|
static PotentialElement |
build(UIObject o,
java.lang.String tagName)
Builds a new PotentialElement.
|
static HtmlElementBuilder |
createBuilderFor(Element potentialElement)
Creates an
HtmlElementBuilder instance inheriting all attributes
set for the given PotentialElement. |
static boolean |
isPotential(JavaScriptObject o)
Tests whether a given
JavaScriptObject represents a PotentialElement. |
static Element |
resolve(Element maybePotential)
If given a PotentialElement, returns the real Element to be
built from it.
|
(package private) Element |
setResolver(UIObject resolver) |
addClassName, as, as, blur, dispatchEvent, focus, getAbsoluteBottom, getAbsoluteLeft, getAbsoluteRight, getAbsoluteTop, getAttribute, getClassName, getClientHeight, getClientWidth, getDir, getDraggable, getElementsByTagName, getFirstChildElement, getId, getInnerHTML, getInnerText, getLang, getNextSiblingElement, getOffsetHeight, getOffsetLeft, getOffsetParent, getOffsetTop, getOffsetWidth, getPreviousSiblingElement, getPropertyBoolean, getPropertyDouble, getPropertyInt, getPropertyJSO, getPropertyObject, getPropertyString, getScrollHeight, getScrollLeft, getScrollTop, getScrollWidth, getString, getStyle, getTabIndex, getTagName, getTitle, hasAttribute, hasClassName, hasTagName, is, is, removeAttribute, removeClassName, replaceClassName, scrollIntoView, setAttribute, setClassName, setDir, setDraggable, setId, setInnerHTML, setInnerSafeHtml, setInnerText, setLang, setPropertyBoolean, setPropertyDouble, setPropertyInt, setPropertyJSO, setPropertyObject, setPropertyString, setScrollLeft, setScrollTop, setTabIndex, setTitle, toggleClassNameappendChild, cloneNode, getChild, getChildCount, getChildNodes, getFirstChild, getLastChild, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentElement, getParentNode, getPreviousSibling, hasChildNodes, hasParentElement, insertAfter, insertBefore, insertFirst, isOrHasChild, removeAllChildren, removeChild, removeFromParent, replaceChild, setNodeValuecast, createArray, createArray, createFunction, createObject, equals, hashCode, toSource, toStringpublic static PotentialElement as(Element e)
public static PotentialElement build(UIObject o)
build(UIObject,String)public static PotentialElement build(UIObject o, java.lang.String tagName)
UIObject so that it can call
UIObject.resolvePotentialElement() to get a real element when
that is needed.public static HtmlElementBuilder createBuilderFor(Element potentialElement)
HtmlElementBuilder instance inheriting all attributes
set for the given PotentialElement.potentialElement - assumed to be a PotentialElement, used as basis for
the builderHtmlElementBuilder instancepublic static boolean isPotential(JavaScriptObject o)
JavaScriptObject represents a PotentialElement.o - the JavaScriptObject to be testedpublic static Element resolve(Element maybePotential)
Note that a PotentialElement can only be resolved once. Making repeated calls to this method with the same PotentialElement is an error.