UserDataHandler.java revision adc854b798c1cfe3bfd4c27d68d5cee38ca617da
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2008 Google Inc.
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License.
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.w3c.dom;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic interface UserDataHandler {
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    // OperationType
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * The node is cloned, using <code>Node.cloneNode()</code>.
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public static final short NODE_CLONED               = 1;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * The node is imported, using <code>Document.importNode()</code>.
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public static final short NODE_IMPORTED             = 2;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * The node is deleted.
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p ><b>Note:</b> This may not be supported or may not be reliable in
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * certain environments, such as Java, where the implementation has no
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * real control over when objects are actually deleted.
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public static final short NODE_DELETED              = 3;
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * The node is renamed, using <code>Document.renameNode()</code>.
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public static final short NODE_RENAMED              = 4;
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * The node is adopted, using <code>Document.adoptNode()</code>.
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public static final short NODE_ADOPTED              = 5;
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * This method is called whenever the node for which this handler is
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * registered is imported or cloned.
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <br> DOM applications must not raise exceptions in a
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <code>UserDataHandler</code>. The effect of throwing exceptions from
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * the handler is DOM implementation dependent.
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param operation Specifies the type of operation that is being
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   performed on the node.
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param key Specifies the key for which this handler is being called.
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param data Specifies the data for which this handler is being called.
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param src Specifies the node being cloned, adopted, imported, or
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   renamed. This is <code>null</code> when the node is being deleted.
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param dst Specifies the node newly created if any, or
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   <code>null</code>.
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void handle(short operation,
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                       String key,
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                       Object data,
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                       Node src,
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                       Node dst);
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
66