001 /*
002 // $Id: QueryNodeListener.java 482 2012-01-05 23:27:27Z jhyde $
003 //
004 // Licensed to Julian Hyde under one or more contributor license
005 // agreements. See the NOTICE file distributed with this work for
006 // additional information regarding copyright ownership.
007 //
008 // Julian Hyde licenses this file to you under the Apache License,
009 // Version 2.0 (the "License"); you may not use this file except in
010 // compliance with the License. You may obtain a copy of the License at:
011 //
012 // http://www.apache.org/licenses/LICENSE-2.0
013 //
014 // Unless required by applicable law or agreed to in writing, software
015 // distributed under the License is distributed on an "AS IS" BASIS,
016 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017 // See the License for the specific language governing permissions and
018 // limitations under the License.
019 */
020 package org.olap4j.query;
021
022 /**
023 * Objects that want to be notified of changes to the Query Model structure
024 * have to implement this interface.
025 *
026 * @author Luc Boudreau
027 * @version $Id: QueryNodeListener.java 482 2012-01-05 23:27:27Z jhyde $
028 */
029 public interface QueryNodeListener {
030 /**
031 * Invoked when one or more children of a QueryNode are removed
032 * from its list.
033 *
034 * @param event Describes in detail the actual event that just happened.
035 */
036 public void childrenRemoved(QueryEvent event);
037
038 /**
039 * Invoked when one or more children are added to a QueryNode
040 * list of children.
041 *
042 * @param event Describes in detail the actual event that just happened.
043 */
044 public void childrenAdded(QueryEvent event);
045
046 /**
047 * Invoked when a selection operator has changed. This does not mean
048 * that a Selection object was either added or removed from a Dimension,
049 * it only means that its operator value was modified.
050 *
051 * @param event Describes in detail the actual event that just happened.
052 * @see org.olap4j.query.Selection
053 **/
054 public void selectionChanged(QueryEvent event);
055 }
056
057 // End QueryNodeListener.java