Frames | No Frames |
1: /* java.beans.beancontext.BeanContextMembershipEvent 2: Copyright (C) 1999, 2004 Free Software Foundation, Inc. 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: 39: package java.beans.beancontext; 40: 41: import java.util.Arrays; 42: import java.util.Collection; 43: import java.util.Iterator; 44: 45: /** 46: * Event fired when children are added to or removed from a <code>BeanContext</code>. 47: * Whether they were added or removed depends entirely on which method 48: * of the listener interface was called. 49: * 50: * @author John Keiser 51: * @since 1.2 52: * @see java.beans.beancontext.BeanContextMembershipListener 53: */ 54: public class BeanContextMembershipEvent extends BeanContextEvent { 55: private static final long serialVersionUID = 3499346510334590959L; 56: 57: /** 58: * The children that were added or removed. 59: */ 60: protected Collection children; 61: 62: /** 63: * Create a new membership event. 64: * @param context the event source. 65: * @param children the children added to or removed from the source. 66: */ 67: public BeanContextMembershipEvent(BeanContext context, Collection children) { 68: super(context); 69: this.children = children; 70: } 71: 72: /** 73: * Create a new membership event. 74: * @param context the event source. 75: * @param children the children added to or removed from the source. 76: */ 77: public BeanContextMembershipEvent(BeanContext context, Object[] children) { 78: super(context); 79: this.children = Arrays.asList(children); 80: } 81: 82: /** 83: * The number of children removed or added. 84: * @return the number of children removed or added. 85: */ 86: public int size() { 87: return children.size(); 88: } 89: 90: /** 91: * An iterator that will step through all the children. 92: * @return an iterator over all the children. 93: */ 94: public Iterator iterator() { 95: return children.iterator(); 96: } 97: 98: /** 99: * An array of the children. 100: * @return an array of the children. 101: */ 102: public Object[] toArray() { 103: return children.toArray(); 104: } 105: 106: /** 107: * Tell whether the <code>Object</code> is one of the children added or removed. 108: * @param child the child to check. 109: * @return whether the <code>Object</code> is added or removed. 110: */ 111: public boolean contains(Object child) { 112: return children.contains(child); 113: } 114: }