Class: TypeHandler

Oracle® Fusion Middleware JSDoc Reference for Oracle Mobile Application Framework
2.3.0.0.0

E68517-01

QuickNav

adf.mf.api.amx.TypeHandler extends adf.mf.api.AdfObject

Constructor

new TypeHandler()

Abstraction for TypeHandler implementations. To extend TypeHandler, use:
(function()
  {
    // TypeHandler for custom "x" tags:
    var x = adf.mf.api.amx.TypeHandler.register("http://xmlns.example.com/custom", "x");

    x.prototype.render = function(amxNode)
    {
      var rootElement = document.createElement("div");
      rootElement.appendChild(document.createTextNode("Hello World"));
      return rootElement;
    };

    // TypeHandler for custom "y" tags:
    var y = adf.mf.api.amx.TypeHandler.register("http://xmlns.example.com/custom", "y");

    y.prototype.render = function(amxNode)
    {
      var rootElement = document.createElement("div");
      rootElement.appendChild(document.createTextNode("Goodbye World"));
      return rootElement;
    };

  })();

Methods

<static> _experimentalCLHandler(domEvent)

DO NOT USE; this method is experimental and will be removed without notice.
Parameters:
Name Type Description
domEvent Object the browser's DOM event object

<static> register(theNamespace, tagName, precreatedClass) → {function}

Register a TypeHandler class with a tag namespace and name.
Parameters:
Name Type Argument Description
theNamespace string the xmlns for the tag
tagName string the name of the tag (no namespace)
precreatedClass adf.mf.api.amx.TypeHandler <optional>
optional pre-created class to register
Returns:
the registered adf.mf.api.amx.TypeHandler subclass so that prototype functions can be added
Type
function

__experimentalCLAssociation(amxNode, amxNodeId, eventType, rootElement, useDocument)

DO NOT USE; this method is experimental and will be removed without notice.
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode an object that describes the instance of the component
amxNodeId string the id of this component
eventType string the event type
rootElement HTMLElement the root element of the component
useDocument boolean in some cases, the event node is the document

_refreshInlineStyle(attributeChanges, element) → {boolean}

Called from the refresh function to update the inline style of the root DOM element. This function will use the difference from the old value and the new value to determine what changes to apply. So all style that was added by other code (like the render function of AmxNode) will not be affected.
Parameters:
Name Type Description
attributeChanges adf.mf.api.amx.AmxAttributeChange the changed attributes
element Element the DOM element to which to apply the changes
Returns:
true if the changes were made
Type
boolean

_refreshStyleClass(attributeChanges, element) → {boolean}

Updates the style class of the root DOM element. This function will use the difference from the old value and the new value to determine what style classes to add and which to remove, so all style classes that were added by other code (like the render function of AmxNode) will not be affected.
Parameters:
Name Type Description
attributeChanges adf.mf.api.amx.AmxAttributeChange the changed attributes
element Element the DOM element to which to apply the changes
Returns:
true if the changes were made
Type
boolean

adopt(theRawObject)

Adopt the properties of another object as our own.
Parameters:
Name Type Description
theRawObject Object the other object
Inherited From:

associateElementWithAmxNode(amxNode, elem)

Allows a DOM element to be associated to the AMX node. Necessary for AmxNode.getAmxNodeForElement to function. Calling this method is only necessary if the element is located outside of its parent element or under a different node's element (element is not a direct descendent of a node rendered for the amxNode's root element or its own children elements).
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode the AMX node
elem object the DOM element

attributeChangeResult(amxNode, attributeName, attributeChanges) → {number}

Checks if the type handler can handle updating the DOM in response to a changed attribute. Called from updateChildren. Currently the base implementation supports styleClass and inlineStyle changes to be handled by the refresh function.
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode AMX node that has changed
attributeName string the name of the attribute to check
attributeChanges adf.mf.api.amx.AmxAttributeChange the changed attributes
Returns:
one of the adf.mf.api.amx.AmxNodeChangeResult constants.
Type
number

clone() → {Object}

Returns a clone of this object. The default implementation is a shallow copy. Subclassers can override this method to implement a deep copy.
Inherited From:
Returns:
a new shallow copy of this object
Type
Object

createCallback(func) → {function}

Creates a function instance that will call back the passed in function with the current "this". This is extremely useful for creating callbacks.
Parameters:
Name Type Description
func function the function to proxy
Inherited From:
Returns:
the proxied function
Type
function

equals(object) → {boolean}

Indicates whether some other adf.mf.api.AdfObject is "equal to" this one. Method is equivalent to java ".equals()" method.
Parameters:
Name Type Description
object Object the object to compare with
Inherited From:
Returns:
whether the objects are "equal"
Type
boolean

getClass(otherInstance) → {Object}

Get the class for an object.
Parameters:
Name Type Description
otherInstance Object optional other object to use
Inherited From:
Returns:
the class of or null if the class cannot be found
Type
Object

getInputValueAttribute() → {string|null}

Gets the attribute to be used for validation. If a non-null value is returned, the AmxNode's storeModifyableEl method will be called for this attribute, so it is not necessary for the type handler to manually call this method.
Returns:
the name of the attribute to use for validation. By default null is returned.
Type
string | null

getTypeName() → {String}

Returns the type name for this instance
Inherited From:
Returns:
name of the Class
Type
String

refresh(amxNode, attributeChanges, descendentChanges)

Called to refresh the HTML of a node. This method is called after the updateChildren method and should be implemented by type handlers that wish to update their DOM in response to a change.
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode AMX node that has changed
attributeChanges adf.mf.api.amx.AmxAttributeChange the changed attributes
descendentChanges adf.mf.api.amx.AmxDescendentChanges | null the changes for any descendent nodes that need to be refreshed.

render(amxNode, id)

Renders the initial set of DOM for this component.
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode an object that describes the instance of the component to be rendered
id string the id of this component

toDebugString() → {String}

Get a debug string representation of this object instance. It is not guaranteed to be unique or of a standard format.
Inherited From:
Returns:
a debug string representation of this object instance
Type
String

toString() → {String}

Get a string representation of this object instance. It is not guaranteed to be unique or interesting.
Inherited From:
Returns:
a string representation of this object instance
Type
String

updateChildren(amxNode, attributeChanges) → {number}

Function that checks to see if the attributes that have changed may be handled by the refresh function. May be overridden to make custom changes to the children due to an attribute change. If the sub-class only needs to react to individual attribute changes, it may override only the attributeChangeResult function instead.
Parameters:
Name Type Description
amxNode adf.mf.api.amx.AmxNode AMX node that has changed
attributeChanges adf.mf.api.amx.AmxAttributeChange the changed attributes
Returns:
one of the adf.mf.api.amx.AmxNodeChangeResult constants.
Type
number

Non-public Methods

<protected, static> InitClass()

Initializes the TypeHandler class

<protected> GetLazyArrayProperty(key, createIfNonexistent, otherInstance) → {Object}

Returns the specified array property. If createIfNonexistent is true and the property doesn't exist, it will be created, and returned.
Parameters:
Name Type Description
key Object the key for the property
createIfNonexistent boolean true if a new empty Array should be created and associated
otherInstance Array another object to use instead of this object
Inherited From:
Returns:
the property value associated with the given key
Type
Object

<protected> GetLazyMapProperty(key, createIfNonexistent, otherInstance) → {Object}

Returns the specified Map property value. If createIfNonexistent is true and the property doesn't exist, an empty Object will be created, and returned.
Parameters:
Name Type Description
key Object the key for the property
createIfNonexistent boolean true if a new empty Object should be created and associated
otherInstance Object another object to use instead of this object
Inherited From:
Returns:
the property value associated with the given key
Type
Object

<protected> Init()

Initializes the instance. Subclasses of adf.mf.api.AdfObject must call their superclass' Init.
Inherited From: