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