001 /*
002 // $Id:$
003 // This software is subject to the terms of the Eclipse Public License v1.0
004 // Agreement, available at the following URL:
005 // http://www.eclipse.org/legal/epl-v10.html.
006 // Copyright (C) 2009-2009 Julian Hyde
007 // All Rights Reserved.
008 // You must accept the terms of that agreement to use this software.
009 */
010 package org.olap4j.query;
011
012 /**
013 * Objects that want to be notified of changes to the Query Model structure
014 * have to implement this interface.
015 *
016 * @author Luc Boudreau
017 * @version $Id: $
018 */
019 public interface QueryNodeListener {
020 /**
021 * Invoked when one or more children of a QueryNode are removed
022 * from its list.
023 *
024 * @param event Describes in detail the actual event that just happened.
025 */
026 public void childrenRemoved(QueryEvent event);
027
028 /**
029 * Invoked when one or more children are added to a QueryNode
030 * list of children.
031 *
032 * @param event Describes in detail the actual event that just happened.
033 */
034 public void childrenAdded(QueryEvent event);
035
036 /**
037 * Invoked when a selection operator has changed. This does not mean
038 * that a Selection object was either added or removed from a Dimension,
039 * it only means that its operator value was modified.
040 *
041 * @param event Describes in detail the actual event that just happened.
042 * @see org.olap4j.query.Selection
043 **/
044 public void selectionChanged(QueryEvent event);
045 }
046
047 // End QueryNodeListener.java