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_TRUE
DOCUMENT_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, toggleClassName
appendChild, cloneNode, getChild, getChildCount, getChildNodes, getFirstChild, getLastChild, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentElement, getParentNode, getPreviousSibling, hasChildNodes, hasParentElement, insertAfter, insertBefore, insertFirst, isOrHasChild, removeAllChildren, removeChild, removeFromParent, replaceChild, setNodeValue
cast, createArray, createArray, createFunction, createObject, equals, hashCode, toSource, toString
public 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.