/* * Copyright 2011 SWM Services GmbH. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package de.swm.commons.mobile.client.event; import de.swm.commons.mobile.client.widgets.accordion.AccordionStack; /** * TODO Dokumentieren. * * @author wiese.daniel * <br> * copyright (C) 2012, Stadtwerke München GmbH */ public class AccordionEvent { /** * States of an Accordeon. */ public enum Type { /** Opens an Accordion stack. **/ Open, /** Will close an accordion stack. **/ Close } private final Type myType; private final AccordionStack accordionStack; /** * Constructor * @param myType event type. * @param accordionStack the closed or expanded stack */ public AccordionEvent(Type myType, AccordionStack accordionStack){ this.myType = myType; this.accordionStack = accordionStack; } public AccordionStack getAccordionStack() { return accordionStack; } public Type getMyType() { return myType; } /** * Will dispatch this event. * * @param handler * handler */ public void dispatch(AccordionEventsHandler handler) { switch (myType) { case Open: handler.onExpand(this); break; case Close: handler.onClose(this); break; } } }