All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.wings.session.ScriptManager Maven / Gradle / Ivy

The newest version!
package org.wings.session;

import org.wings.script.ScriptListener;

import java.util.List;
import java.util.LinkedList;

public class ScriptManager
{
    private final List scriptListenerList = new LinkedList();

    public static ScriptManager getInstance() {
        return SessionManager.getSession().getScriptManager();
    }

    public final void addScriptListener(ScriptListener listener) {
        if (scriptListenerList.contains(listener))
            return;

        int placingPosition = -1;
        for (int i = 0; i < scriptListenerList.size() && placingPosition < 0; i++) {
            ScriptListener existingListener = (ScriptListener)scriptListenerList.get(i);
            if (existingListener.getPriority() < listener.getPriority())
                placingPosition = i;
        }

        if (placingPosition >= 0)
            scriptListenerList.add(placingPosition, listener);
        else
            scriptListenerList.add(listener);
    }

    public final void addScriptListeners(ScriptListener... listeners) {
        for (ScriptListener listener : listeners) {
            addScriptListener(listener);
        }
    }

    public final void removeScriptListener(ScriptListener listener) {
        scriptListenerList.remove(listener);
    }

    public ScriptListener[] getScriptListeners() {
        return (ScriptListener[]) scriptListenerList.toArray(new ScriptListener[scriptListenerList.size()]);
    }

    public void clearScriptListeners() {
        scriptListenerList.clear();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy