CompoundMenuContext.java :  » GWT » gwtoolbox » org » gwtoolbox » widget » client » menu » Java Open Source

Java Open Source » GWT » gwtoolbox 
gwtoolbox » org » gwtoolbox » widget » client » menu » CompoundMenuContext.java
package org.gwtoolbox.widget.client.menu;

import org.gwtoolbox.commons.util.client.listener.ChangeListener;

import java.util.List;
import java.util.ArrayList;

/**
 * @author Uri Boness
 */
public class CompoundMenuContext implements MenuContext {

    private List<MenuContext> contexts;

    public void update(MenuItemBase item) {
        if (contexts != null) {
            for (MenuContext context : contexts) {
                context.update(item);
            }
        }
    }

    public void addChangeListener(ChangeListener<MenuContext> listener) {
        if (contexts != null) {
            for (MenuContext context : contexts) {
                context.addChangeListener(listener);
            }
        }
    }

    public void removeChangeListener(ChangeListener<MenuContext> listener) {
        if (contexts != null) {
            for (MenuContext context : contexts) {
                context.removeChangeListener(listener);
            }
        }
    }

    public void clearChangeListeners() {
        if (contexts != null) {
            for (MenuContext context : contexts) {
                context.clearChangeListeners();
            }
        }
    }

    public void addContext(MenuContext context) {
        if (contexts == null) {
            contexts = new ArrayList<MenuContext>();
        }
        contexts.add(context);
    }

    public void removeContext(MenuContext context) {
        if (contexts != null) {
            contexts.remove(context);
        }
    }

    public void clearContexts() {
        if (contexts != null) {
            contexts.clear();
        }
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.