2
* The contents of this file are subject to the terms of the Common Development
3
* and Distribution License (the License). You may not use this file except in
4
* compliance with the License.
6
* You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7
* or http://www.netbeans.org/cddl.txt.
9
* When distributing Covered Code, include this CDDL Header Notice in each file
10
* and include the License file at http://www.netbeans.org/cddl.txt.
11
* If applicable, add the following below the CDDL Header, with the fields
12
* enclosed by brackets [] replaced by your own identifying information:
13
* "Portions Copyrighted [year] [name of copyright owner]"
15
* The Original Software is NetBeans. The Initial Developer of the Original
16
* Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17
* Microsystems, Inc. All Rights Reserved.
19
package org.netbeans.modules.php.dbgp.models;
21
import java.util.Collection;
22
import java.util.concurrent.CopyOnWriteArrayList;
24
import org.netbeans.spi.viewmodel.ModelEvent;
25
import org.netbeans.spi.viewmodel.ModelListener;
26
import org.netbeans.spi.viewmodel.ModelEvent.TreeChanged;
33
public abstract class ViewModelSupport {
35
public abstract void clearModel();
37
protected ViewModelSupport() {
38
myListeners = new CopyOnWriteArrayList<ModelListener>();
41
public void addModelListener(ModelListener l) {
45
public void removeModelListener(ModelListener l) {
46
myListeners.remove(l);
49
protected void refresh() {
50
fireChangeEvent(new TreeChanged(this));
53
protected void fireChangeEvent(ModelEvent modelEvent) {
54
for ( ModelListener listener : myListeners ) {
55
listener.modelChanged(modelEvent);
59
protected void fireChangeEvents(ModelEvent[] events) {
60
for( ModelEvent event : events ){
61
fireChangeEvent( event );
65
protected void fireChangeEvents(Collection<ModelEvent> events) {
66
for( ModelEvent event : events ){
67
fireChangeEvent( event );
72
private CopyOnWriteArrayList<ModelListener> myListeners;