fi.hut.tml.xsmiles.mlfc.xforms.dom
Class XFormsElementImpl

java.lang.Object
  extended byorg.apache.xerces.dom.NodeImpl
      extended byorg.apache.xerces.dom.ChildNode
          extended byorg.apache.xerces.dom.ParentNode
              extended byorg.apache.xerces.dom.ElementImpl
                  extended byorg.apache.xerces.dom.ElementNSImpl
                      extended byfi.hut.tml.xsmiles.dom.XSmilesElementImpl
                          extended byfi.hut.tml.xsmiles.dom.VisualElementImpl
                              extended byfi.hut.tml.xsmiles.mlfc.xforms.dom.XFormsElementImpl
All Implemented Interfaces:
java.lang.Cloneable, CSSStyleChangeListener, org.w3c.dom.Element, org.w3c.dom.events.EventListener, org.w3c.dom.events.EventTarget, InitializableElement, org.w3c.dom.Node, org.w3c.dom.NodeList, PseudoClassController, ResourceFetcher, java.io.Serializable, StylableElement, org.w3c.dom.TypeInfo, VisualElement, XFormsConstants, XFormsElement, XSmilesLayoutReference
Direct Known Subclasses:
ActionElementImpl, CaseElementImpl, ChoicesElementImpl, DispatchElementImpl, DynBoundElementImpl, ModelBoundElementImpl, PrologElement, ResetElementImpl, SetFocusElementImpl, SubmitInstanceElementImpl, SwitchElementImpl, ToggleElementImpl

public class XFormsElementImpl
extends VisualElementImpl
implements XFormsElement, XFormsConstants

The superclass of all XForms elements

Author:
Mikko Honkala
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class fi.hut.tml.xsmiles.dom.XSmilesElementImpl
XSmilesElementImpl.PseudoNodeList
 
Field Summary
 boolean debugEvents
          whether to debug messages for each event dispatch
protected static java.lang.String EVENTS_NS
           
protected  XFormsElementHandler handler
           
protected  boolean inited
           
protected  ExtendedDocument ownerDoc
           
 
Fields inherited from class fi.hut.tml.xsmiles.dom.VisualElementImpl
views
 
Fields inherited from class fi.hut.tml.xsmiles.dom.XSmilesElementImpl
DESTROYED, elementStatus, INITIALIZED, INITIALIZING, setPseudoClasses, style, UNINITIALIZED, xblpropname
 
Fields inherited from class org.apache.xerces.dom.ElementNSImpl
localName, namespaceURI
 
Fields inherited from class org.apache.xerces.dom.ElementImpl
attributes, name
 
Fields inherited from class org.apache.xerces.dom.ParentNode
firstChild, fNodeListCache, ownerDocument
 
Fields inherited from class org.apache.xerces.dom.ChildNode
nextSibling, previousSibling
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE, UNNORMALIZED
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface fi.hut.tml.xsmiles.mlfc.xforms.XFormsConstants
ACCESSKEY, ACTION_ATTRIBUTE, ACTION_ELEMENT, ACTIVATE_EVENT, ACTIVE_CASE_PSEUDOCLASS, ALERT_ELEMENT, ALERT_EVENT, APPEARANCE_ATTRIBUTE, AT_ATTRIBUTE, BasicDataFactoryClassName, BEFORE_ATTRIBUTE, BIND_ATTRIBUTE, BIND_ELEMENT, BINDING_EXCEPTION, BLUR_EVENT, BUBBLES_ATTRIBUTE, BUTTON_ELEMENT, CALCULATE_ATTRIBUTE, CANCELABLE_ATTRIBUTE, CAPTION_CHANGED, CAPTION_ELEMENT, CASE_ATTRIBUTE, CASE_ELEMENT, CDATA_SECTION_ELEMENTS_ATTRIBUTE, CHOICES_ELEMENT, COMPUTE_EXCEPTION, CONSTRAINT_ATTRIBUTE, CONTROL_ATTRIBUTE, COPY_ELEMENT, DELETE_ELEMENT, DELETE_EVENT, DESELECT_EVENT, DESTROY_ELEMENT, DESTROY_EVENT, DISABLED_EVENT, DISABLED_PSEUDOCLASS, DISPATCH_ELEMENT, DUPLICATE_ELEMENT, DUPLICATE_EVENT, ENABLED_EVENT, ENABLED_PSEUDOCLASS, ENCODING_ATTRIBUTE, END_ATTRIBUTE, EXTENSION, EXTERNAL_LINKING_ATTR, FILENAME, FILENAME_ELEMENT, FOCUS_EVENT, FOCUSIN_NOTIFICATION_EVENT, FOCUSOUT_NOTIFICATION_EVENT, FUNC_INDEX, FUNC_NODEINDEX, FUNCTIONS_ATTRIBUTE, GROUP, GROUP_ELEMENT, HELP, HELP_ELEMENT, HELP_EVENT, HINT, HINT_ELEMENT, HINT_EVENT, INACTIVE_CASE_PSEUDOCLASS, INCLUDENAMESPACEPREFIXES_ATTRIBUTE, INCREMENTAL_ATTRIBUTE, INDENT_ATTRIBUTE, INDEX_ATTRIBUTE, INPUT, INPUT_ELEMENT, INPUTMODE_ATTRIBUTE, INRANGE_EVENT, INRANGE_PSEUDOCLASS, INSERT, INSERT_ELEMENT, INSERT_EVENT, INSTANCE, INSTANCE_ELEMENT, InstanceDocumentClassname, INVALID_DATATYPE_ERROR, INVALID_EVENT, INVALID_PSEUDOCLASS, ISVALID_ATTRIBUTE, ITEM, ITEM_ELEMENT, ITEMSET, ITEMSET_ELEMENT, LABEL, LEVEL_ATTRIBUTE, LINK_ERROR, LINK_EXCEPTION, LOAD, LOADURI_ELEMENT, MAXOCCURS_ATTRIBUTE, MEDIA_TYPE_ELEMENT, MEDIARENDERING_PSEUDOCLASS, MEDIATYPE, MEDIATYPE_ATTRIBUTE, MESSAGE, MESSAGE_ELEMENT, METHOD_ATTRIBUTE, MINOCCURS_ATTRIBUTE, MODEL_ATTRIBUTE, MODEL_CONSTRUCT_DONE_EVENT, MODEL_CONSTRUCT_EVENT, MODEL_DESTRUCT_EVENT, MODEL_ELEMENT, MODEL_ID_ATTRIBUTE, NAME_ATTRIBUTE, NAVINDEX_ATTRIBUTE, NEXT_EVENT, NODESET_ATTRIBUTE, NUMBER_ATTRIBUTE, OMIT_XML_DECLARATION_ATTRIBUTE, OPTIONAL_EVENT, ORIGIN_ATTRIBUTE, OUTOFRANGE_EVENT, OUTOFRANGE_PSEUDOCLASS, OUTPUT_ELEMENT, P3PTYPE_ATTRIBUTE, POSITION_ATTRIBUTE, PREVIOUS_EVENT, PSVIDocumentClassname, PSVISchemaPoolClassName, RANGE, RANGE_ELEMENT, READONLY_ATTRIBUTE, READONLY_EVENT, READONLY_PSEUDOCLASS, READWRITE_EVENT, READWRITE_PSEUDOCLASS, READY_EVENT, REBUILD_ELEMENT, REBUILD_EVENT, RECALCULATE_ELEMENT, RECALCULATE_EVENT, REF_ATTRIBUTE, REFRESH_ELEMENT, REFRESH_EVENT, RELEVANT_ATTRIBUTE, REPEAT, REPEAT_ATTRIBUTE, REPEAT_BIND_ATTRIBUTE, REPEAT_ELEMENT, REPEAT_ID_ATTRIBUTE, REPEAT_MODEL_ATTRIBUTE, REPEAT_NODESET_ATTRIBUTE, REPEAT_NUMBER_ATTRIBUTE, REPEAT_STARTINDEX_ATTRIBUTE, REPLACE_ALL, REPLACE_ATTRIBUTE, REPLACE_INSTANCE, REPLACE_NEW, REPLACE_NONE, REQUIRED_ATTRIBUTE, REQUIRED_EVENT, RESET, RESET_ELEMENT, RESET_EVENT, RESOURCE_ATTRIBUTE, RESOURCE_LINKING_ATTR, REVALIDATE, REVALIDATE_ELEMENT, REVALIDATE_EVENT, SCHEMA_ATTRIBUTE, SCHEMA_CONSTRAINTS_ERROR, SCHEMA_ELEMENT, SCROLL_FIRST_EVENT, SCROLL_LAST_EVENT, SECRET, SECRET_ELEMENT, SELECT, SELECT_BOOLEAN_ELEMENT, SELECT_EVENT, SELECT_MANY_ELEMENT, SELECT_ONE_ELEMENT, SELECT1, SELECTED_ATTRIBUTE, SELECTION_ATTRIBUTE, SEND, SEPARATOR_ATTRIBUTE, SET_FOCUS_ELEMENT, SET_INDEX_ELEMENT, SETFOCUS, SETINDEX, SETVALUE, SETVALUE_ELEMENT, SHOW_ATTR, SHOW_ATTRIBUTE, SHOW_NEW, SHOW_REPLACE, SRC_ATTRIBUTE, STANDALONE_ATTRIBUTE, START_ATTRIBUTE, STARTINDEX_ATTRIBUTE, STEP_ATTRIBUTE, SUBMISSION, SUBMISSION_ATTRIBUTE, SUBMIT, SUBMIT_DONE_EVENT, SUBMIT_ELEMENT, SUBMIT_ERROR, SUBMIT_EVENT, SUBMIT_INFO_ATTRIBUTE, SUBMIT_INFO_ELEMENT, SUBMIT_INSTANCE_ELEMENT, SUBMIT_STARTED_EVENT, SUBTREE_MODIFY_END, SUBTREE_MODIFY_START, SWITCH, SWITCH_ELEMENT, TARGET_ATTRIBUTE, TEXTAREA, TEXTAREA_ELEMENT, TOGGLE, TOGGLE_ELEMENT, TRAVERSAL_ERROR, TREE_ELEMENT, TRIGGER, TYPE_ATTRIBUTE, UI_INITIALIZE_EVENT, UPLOAD, UPLOAD_ELEMENT, VALID_EVENT, VALID_PSEUDOCLASS, VALUE, VALUE_ATTRIBUTE, VALUE_CHANGED_EVENT, VALUE_CHANGING_EVENT, VALUE_ELEMENT, VERSION_ATTRIBUTE, XercesPSVIClassName, XFORMS_NS, XFormsConfigurationPSVI, XHTML_NS, XSMILES_MESSAGE_SHOWN_EVENT
 
Constructor Summary
XFormsElementImpl(XFormsElementHandler handler, java.lang.String ns, java.lang.String name)
           
 
Method Summary
static void debugNode(org.w3c.dom.Node n)
           
protected  boolean dispatch(org.w3c.dom.events.Event evt)
          Dispatch the event to DOM for this element.
protected  boolean dispatch(java.lang.String type)
          Dispatch the event to DOM for this element.
 void dispatchActivateEvent()
           
 void dispatchClickEvent()
           
 boolean dispatchEvent(org.w3c.dom.events.Event event)
          This method is overridden so that we could do event debugging.
protected  XFormsControl findFirstRelevantControl(org.w3c.dom.Element start)
           
 BrowserWindow getBrowser()
           
 java.lang.String getClassName()
          The class attribute.
 ComponentFactory getComponentFactory()
           
 java.lang.String getId()
          The unique id.
 ModelElementImpl getModel()
          Gets the default XForm element
 ModelElementImpl getModel(java.lang.String id)
           
 java.lang.String getModelId()
          The id of the xform of the reference node
 ModelElementImpl getModelInScope(org.w3c.dom.Element elem)
          starts with an element and goes down the tree to find a scoped model.
protected  java.lang.String getSrc()
          retrieve the resource attribute string or null if not existing
 java.lang.String getStyleAttrValue()
          Support the style attribute in XForms
 XMLDocument getXMLDocument()
           
 void handleXFormsException(XFormsException e)
          handle any XFormsException that's dispatched for this element
 void init()
          Initialize this element.
protected  void initializeXMLEvents(org.w3c.dom.Element root)
          this is a kludge method to initialize child XML events listeners, because XForms will dispatch events at the intialization phase so this method will provide at least basic functionality while still preserving "one-pass" initialization
 boolean isCSSLayoutDoc()
           
protected static void moveNodes(org.w3c.dom.Element parent, org.w3c.dom.Node insertBefore, org.w3c.dom.Element from, java.util.Vector nodeVector)
          move the children of 'parent' before the element 'insertBefore' this is called by init
 void printEvent(org.w3c.dom.events.Event evt)
           
static void removeAllChildren(org.w3c.dom.Element elem)
           
static InstanceItem retrieveInstanceItem(org.w3c.dom.Node n)
           
protected  java.lang.String retrieveResourceAsString(java.net.URL url)
          retrieve a string fetched from this URL with GET
static java.lang.String serializeNode(org.w3c.dom.Node n)
           
 void setClassName(java.lang.String cl)
           
protected  void setHandler(XFormsElementHandler a_handler)
           
 void setId(java.lang.String id)
           
protected  void setOwnerDoc(ExtendedDocument owner)
           
 
Methods inherited from class fi.hut.tml.xsmiles.dom.VisualElementImpl
addView, belongsToTree, getViews, handleEvent, insertBefore, isCurrentlyVisible, isFocusPoint, isPseudoClass, isVisibleByCSSProperties, notifyPseudoRemoved, removeAllViews, removeAttribute, removeChild, replaceChild, setAttribute, setStatus, styleChanged, updateViews
 
Methods inherited from class fi.hut.tml.xsmiles.dom.XSmilesElementImpl
addBinding, addUndistributedChild, clone, clonePseudoElements, cloneSubtree, debugNode, destroy, dispatchEventInMainThread, get, getApplyBindingSheets, getAuthorSheets, getChildNodes, getElementStatus, getOriginalClone, getPseudoClass, getResourceReferencer, getRuleNode, getStyle, getText, getText, getUndistributedChildNodes, getXblImplementations, hasBinding, hasStyle, initFinalFlattenedTree, initStyle, isInitedForReset, removeBinding, removeUndistributedChild, replaceNode, resetFinalFlattenedTree, resolveURI, searchElementWithId, searchElementWithId, setApplyBindingSheets, setAuthorSheets, setPseudoClass, setRuleNode, setStyle, updateStyle
 
Methods inherited from class org.apache.xerces.dom.ElementNSImpl
getBaseURI, getLocalName, getNamespaceURI, getPrefix, getTypeName, getTypeNamespace, setPrefix, setType, setValues
 
Methods inherited from class org.apache.xerces.dom.ElementImpl
cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDefaultAttributes, getElementsByTagName, getElementsByTagNameNS, getNodeName, getNodeType, getSchemaTypeInfo, getTagName, getXercesAttribute, hasAttribute, hasAttributeNS, hasAttributes, isEqualNode, normalize, reconcileDefaultAttributes, removeAttributeNode, removeAttributeNS, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setReadOnly, setupDefaultAttributes, setXercesAttributeNode, synchronizeData
 
Methods inherited from class org.apache.xerces.dom.ParentNode
getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, getOwnerDocument, getTextContent, hasChildNodes, item, setTextContent, synchronizeChildren
 
Methods inherited from class org.apache.xerces.dom.ChildNode
getNextSibling, getParentNode, getPreviousSibling
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, getContainer, getFeature, getNodeNumber, getNodeValue, getReadOnly, getUserData, getUserData, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setUserData, setUserData, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.xforms10.XFormsElement
destroy
 
Methods inherited from interface fi.hut.tml.xsmiles.dom.StylableElement
getRuleNode, getStyle, hasStyle, isPseudoClass, setRuleNode, setStyle
 
Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 
Methods inherited from interface fi.hut.tml.xsmiles.dom.VisualElement
getStyle
 
Methods inherited from interface fi.hut.tml.xsmiles.dom.PseudoClassController
getPseudoClass, setPseudoClass
 

Field Detail

ownerDoc

protected ExtendedDocument ownerDoc

handler

protected XFormsElementHandler handler

inited

protected boolean inited

debugEvents

public boolean debugEvents
whether to debug messages for each event dispatch


EVENTS_NS

protected static final java.lang.String EVENTS_NS
See Also:
Constant Field Values
Constructor Detail

XFormsElementImpl

public XFormsElementImpl(XFormsElementHandler handler,
                         java.lang.String ns,
                         java.lang.String name)
Method Detail

isCSSLayoutDoc

public boolean isCSSLayoutDoc()
Returns:
true if the owner document is an XML+CSS document

getStyleAttrValue

public java.lang.String getStyleAttrValue()
Support the style attribute in XForms

Specified by:
getStyleAttrValue in interface StylableElement
Overrides:
getStyleAttrValue in class XSmilesElementImpl

init

public void init()
Description copied from class: XSmilesElementImpl
Initialize this element.

Specified by:
init in interface XFormsElement
Overrides:
init in class VisualElementImpl

setOwnerDoc

protected void setOwnerDoc(ExtendedDocument owner)

setHandler

protected void setHandler(XFormsElementHandler a_handler)

getXMLDocument

public XMLDocument getXMLDocument()

getComponentFactory

public ComponentFactory getComponentFactory()

getBrowser

public BrowserWindow getBrowser()

getModel

public ModelElementImpl getModel(java.lang.String id)

getModelInScope

public ModelElementImpl getModelInScope(org.w3c.dom.Element elem)
starts with an element and goes down the tree to find a scoped model. If none is found, then the default model is used


getId

public java.lang.String getId()
Description copied from interface: XFormsElement
The unique id.

Specified by:
getId in interface XFormsElement
Overrides:
getId in class XSmilesElementImpl

setId

public void setId(java.lang.String id)
           throws org.w3c.dom.DOMException
Specified by:
setId in interface XFormsElement
Throws:
org.w3c.dom.DOMException

getClassName

public java.lang.String getClassName()
The class attribute. This method should be called getClass, but it is already reserved by java.lang.Object.

Specified by:
getClassName in interface XFormsElement
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

setClassName

public void setClassName(java.lang.String cl)
                  throws org.w3c.dom.DOMException
Specified by:
setClassName in interface XFormsElement
Throws:
org.w3c.dom.DOMException

dispatch

protected boolean dispatch(java.lang.String type)
Dispatch the event to DOM for this element.


initializeXMLEvents

protected void initializeXMLEvents(org.w3c.dom.Element root)
this is a kludge method to initialize child XML events listeners, because XForms will dispatch events at the intialization phase so this method will provide at least basic functionality while still preserving "one-pass" initialization


dispatch

protected boolean dispatch(org.w3c.dom.events.Event evt)
Dispatch the event to DOM for this element.


dispatchEvent

public boolean dispatchEvent(org.w3c.dom.events.Event event)
This method is overridden so that we could do event debugging.

Specified by:
dispatchEvent in interface org.w3c.dom.events.EventTarget

debugNode

public static void debugNode(org.w3c.dom.Node n)

serializeNode

public static java.lang.String serializeNode(org.w3c.dom.Node n)

getModel

public ModelElementImpl getModel()
Gets the default XForm element


getModelId

public java.lang.String getModelId()
The id of the xform of the reference node


moveNodes

protected static void moveNodes(org.w3c.dom.Element parent,
                                org.w3c.dom.Node insertBefore,
                                org.w3c.dom.Element from,
                                java.util.Vector nodeVector)
move the children of 'parent' before the element 'insertBefore' this is called by init


handleXFormsException

public void handleXFormsException(XFormsException e)
handle any XFormsException that's dispatched for this element


printEvent

public void printEvent(org.w3c.dom.events.Event evt)

dispatchActivateEvent

public void dispatchActivateEvent()

dispatchClickEvent

public void dispatchClickEvent()

getSrc

protected java.lang.String getSrc()
retrieve the resource attribute string or null if not existing


retrieveResourceAsString

protected java.lang.String retrieveResourceAsString(java.net.URL url)
                                             throws java.lang.Exception
retrieve a string fetched from this URL with GET

Throws:
java.lang.Exception

findFirstRelevantControl

protected XFormsControl findFirstRelevantControl(org.w3c.dom.Element start)

removeAllChildren

public static void removeAllChildren(org.w3c.dom.Element elem)

retrieveInstanceItem

public static InstanceItem retrieveInstanceItem(org.w3c.dom.Node n)


X-Smiles 1.2