Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jmmo.observable;
 
 
 import java.util.*;

User: Tomas Date: 02.01.13 Time: 0:18
public abstract class ObservableBase implements Observable {
    @Override
    public void addObservableListener(ObservableListener listener) {
        if ( != null && .contains(listener)) {
            throw new IllegalArgumentException("Observable listener " + listener + " already exists in " + this);
        }
        if (listener.filterObservable(getOwner(), ObservableListenerWrapper.getListenerChain(listener))) {
            if ( == null) {
                 = createListenersSet();
            }
            .add(listener);
        }
        addChildListeners(listener);
    }
    protected void addChildListeners(ObservableListener listener) {
    }
    @Override
    public void removeObservableListener(ObservableListener listener) {
        if ( != null) {
            .remove(listener);
            if (.isEmpty()) {
                 = null;
            }
        }
        removeChildListeners(listener);
    }
    protected void removeChildListeners(ObservableListener listener) {
    }
    protected <T extends ObservableEvent> T fireObservableEvent(T event) {
        if ( != null) {
            for (ObservableListener listener : .toArray(new ObservableListener[.size()])) {
                listener.handleObservableEvent(event, Collections.<Observable>emptyList());
            }
        }
        return event;
    }
    protected Set<ObservableListenercreateListenersSet() {
        return new HashSet<ObservableListener>();
    }
    protected Observable getOwner() {
        return this;
    }
New to GrepCode? Check out our FAQ X