1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 7f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 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 java.util.prefs; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 197365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport java.io.IOException; 207365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport java.io.NotSerializableException; 217365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport java.io.ObjectInputStream; 227365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport java.io.ObjectOutputStream; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.Serializable; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.EventObject; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This is the event class to indicate that one child of the preference node has 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * been added or deleted. 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 305cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * Please note that although the class is marked as {@code Serializable} by 315cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * inheritance from {@code EventObject}, this type is not intended to be serialized 325cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * so the serialization methods do nothing but throw a {@code NotSerializableException}. 33f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 345cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * @see java.util.prefs.Preferences 355cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * @see java.util.prefs.NodeChangeListener 36f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 375cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson * @since 1.4 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class NodeChangeEvent extends EventObject implements Serializable { 405cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final long serialVersionUID = 8068949086596572957L; 425cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final Preferences parent; 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final Preferences child; 455cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Constructs a new {@code NodeChangeEvent} instance. 48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param p 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the {@code Preferences} instance that fired this event; this object is 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * considered as the event source. 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param c 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the child {@code Preferences} instance that was added or deleted. 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public NodeChangeEvent (Preferences p, Preferences c) { 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(p); 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project parent = p; 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project child = c; 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 605cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the {@code Preferences} instance that fired this event. 63f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the {@code Preferences} instance that fired this event. 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Preferences getParent() { 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return parent; 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 695cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the child {@code Preferences} node that was added or removed. 72f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the added or removed child {@code Preferences} node. 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Preferences getChild() { 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return child; 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 785cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 795cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson /** 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This method always throws a <code>NotSerializableException</code>, 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * because this object cannot be serialized, 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private void writeObject (ObjectOutputStream out) throws IOException { 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NotSerializableException(); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 865cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson 875cc8cb84ac4a3474cfb666c9b94fd721e4615ca0Jesse Wilson /** 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This method always throws a <code>NotSerializableException</code>, 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * because this object cannot be serialized, 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private void readObject (ObjectInputStream in) throws IOException, ClassNotFoundException { 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NotSerializableException(); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 95