Stay organized with collections
Save and categorize content based on your preferences.
UserDataHandler
interface UserDataHandler
When associating an object to a key on a node using Node.setUserData()
the application can provide a handler that gets called when the node the object is associated to is being cloned, imported, or renamed. This can be used by the application to implement various behaviors regarding the data it associates to the DOM nodes. This interface defines that handler.
See also the Document Object Model (DOM) Level 3 Core Specification.
Summary
Constants |
static Short |
The node is adopted, using Document.adoptNode() .
|
static Short |
The node is cloned, using Node.cloneNode() .
|
static Short |
The node is deleted.
|
static Short |
The node is imported, using Document.importNode() .
|
static Short |
The node is renamed, using Document.renameNode() .
|
Public methods |
abstract Unit |
This method is called whenever the node for which this handler is registered is imported or cloned.
|
Constants
NODE_ADOPTED
static val NODE_ADOPTED: Short
The node is adopted, using Document.adoptNode()
.
Value: 5
NODE_CLONED
static val NODE_CLONED: Short
The node is cloned, using Node.cloneNode()
.
Value: 1
NODE_DELETED
static val NODE_DELETED: Short
The node is deleted.
Note: This may not be supported or may not be reliable in certain environments, such as Java, where the implementation has no real control over when objects are actually deleted.
Value: 3
NODE_IMPORTED
static val NODE_IMPORTED: Short
The node is imported, using Document.importNode()
.
Value: 2
NODE_RENAMED
static val NODE_RENAMED: Short
The node is renamed, using Document.renameNode()
.
Value: 4
Public methods
handle
abstract fun handle(
operation: Short,
key: String!,
data: Any!,
src: Node!,
dst: Node!
): Unit
This method is called whenever the node for which this handler is registered is imported or cloned.
DOM applications must not raise exceptions in a UserDataHandler
. The effect of throwing exceptions from the handler is DOM implementation dependent.
Parameters |
operation |
Short: Specifies the type of operation that is being performed on the node. |
key |
String!: Specifies the key for which this handler is being called. |
data |
Any!: Specifies the data for which this handler is being called. |
src |
Node!: Specifies the node being cloned, adopted, imported, or renamed. This is null when the node is being deleted. |
dst |
Node!: Specifies the node newly created if any, or null . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# UserDataHandler\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nUserDataHandler\n===============\n\n```\ninterface UserDataHandler\n```\n\n|----------------------------------|\n| [org.w3c.dom.UserDataHandler](#) |\n\nWhen associating an object to a key on a node using `Node.setUserData()` the application can provide a handler that gets called when the node the object is associated to is being cloned, imported, or renamed. This can be used by the application to implement various behaviors regarding the data it associates to the DOM nodes. This interface defines that handler.\n\nSee also the [Document Object Model (DOM) Level 3 Core Specification](http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407).\n\nSummary\n-------\n\n| Constants ||\n|---------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|\n| static [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html) | [NODE_ADOPTED](#NODE_ADOPTED:kotlin.Short) The node is adopted, using `Document.adoptNode()`. |\n| static [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html) | [NODE_CLONED](#NODE_CLONED:kotlin.Short) The node is cloned, using `Node.cloneNode()`. |\n| static [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html) | [NODE_DELETED](#NODE_DELETED:kotlin.Short) The node is deleted. |\n| static [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html) | [NODE_IMPORTED](#NODE_IMPORTED:kotlin.Short) The node is imported, using `Document.importNode()`. |\n| static [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html) | [NODE_RENAMED](#NODE_RENAMED:kotlin.Short) The node is renamed, using `Document.renameNode()`. |\n\n| Public methods ||\n|---------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [handle](#handle(kotlin.Short,%20kotlin.String,%20kotlin.Any,%20org.w3c.dom.Node,%20org.w3c.dom.Node))`(`operation:` `[Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)`, `key:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `data:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)!`, `src:` `[Node](https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html)!`, `dst:` `[Node](https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html)!`)` This method is called whenever the node for which this handler is registered is imported or cloned. |\n\nConstants\n---------\n\n### NODE_ADOPTED\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val NODE_ADOPTED: Short\n```\n\nThe node is adopted, using `Document.adoptNode()`. \n\n Value: 5\n\n### NODE_CLONED\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val NODE_CLONED: Short\n```\n\nThe node is cloned, using `Node.cloneNode()`. \n\n Value: 1\n\n### NODE_DELETED\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val NODE_DELETED: Short\n```\n\nThe node is deleted.\n\n**Note:** This may not be supported or may not be reliable in certain environments, such as Java, where the implementation has no real control over when objects are actually deleted. \n\n Value: 3\n\n### NODE_IMPORTED\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val NODE_IMPORTED: Short\n```\n\nThe node is imported, using `Document.importNode()`. \n\n Value: 2\n\n### NODE_RENAMED\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val NODE_RENAMED: Short\n```\n\nThe node is renamed, using `Document.renameNode()`. \n\n Value: 4\n\nPublic methods\n--------------\n\n### handle\n\nAdded in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun handle(\n operation: Short, \n key: String!, \n data: Any!, \n src: Node!, \n dst: Node!\n): Unit\n```\n\nThis method is called whenever the node for which this handler is registered is imported or cloned. \nDOM applications must not raise exceptions in a `UserDataHandler`. The effect of throwing exceptions from the handler is DOM implementation dependent.\n\n| Parameters ||\n|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `operation` | [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html): Specifies the type of operation that is being performed on the node. |\n| `key` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: Specifies the key for which this handler is being called. |\n| `data` | [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)!: Specifies the data for which this handler is being called. |\n| `src` | [Node](https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html)!: Specifies the node being cloned, adopted, imported, or renamed. This is `null` when the node is being deleted. |\n| `dst` | [Node](https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html)!: Specifies the node newly created if any, or `null`. |"]]