1 /* 2 * Copyright (c) 2004 World Wide Web Consortium, (Massachusetts Institute of 3 * Technology, Institut National de Recherche en Informatique et en 4 * Automatique, Keio University). All Rights Reserved. This program is 5 * distributed under the W3C's Software Intellectual Property License. This 6 * program is distributed in the hope that it will be useful, but WITHOUT ANY 7 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 8 * FOR A PARTICULAR PURPOSE. See W3C License 9 * http://www.w3.org/Consortium/Legal/ for more details. 10 */ 11 12 package org.w3c.domts; 13 14 import java.util.ArrayList; 15 import java.util.List; 16 17 import org.w3c.dom.Node; 18 import org.w3c.dom.UserDataHandler; 19 20 /** 21 * This is a utility implementation of UserDataHandler that captures all 22 * notifications 23 */ 24 public class UserDataMonitor 25 implements UserDataHandler { 26 private final List notifications = new ArrayList(); 27 28 /** 29 * Public constructor 30 * 31 */ 32 public UserDataMonitor() { 33 } 34 35 /** 36 * Implementation of UserDataHandler.handle. Creates a UserDataNotification 37 * for later testing 38 * 39 * @param operation 40 * See org.w3c.dom.UserDataHandler 41 * @param key 42 * See org.w3c.dom.UserDataHandler 43 * @param data 44 * See org.w3c.dom.UserDataHandler 45 * @param src 46 * See org.w3c.dom.UserDataHandler 47 * @param dst 48 * See org.w3c.dom.UserDataHandler 49 */ 50 public void handle( 51 short operation, 52 String key, 53 Object data, 54 Node src, 55 Node dst) { 56 notifications.add( 57 new UserDataNotification(operation, key, data, src, dst)); 58 } 59 60 /** 61 * Gets list of notifications 62 * 63 * @return List of notifications, may not be null. 64 */ 65 public final List getAllNotifications() { 66 return new ArrayList(notifications); 67 } 68 69 } 70