package de.flower.common.ui.ajax.event; import de.flower.common.model.db.entity.IEntity; import org.apache.wicket.Component; import org.apache.wicket.event.Broadcast; /** * Small wrapper to minimize coding effort when sending wicket events for ajax updates. */ public final class AjaxEventSender { /** * Instantiates a new ajax event sender. */ private AjaxEventSender() { } /** * Send ajax event. Saves client from typing Broadcast.DEPTH every time. * * @param sender the sender * @param payload the payload * NOTE: try to use typed methods of this class. e.g. {@link #entityEvent(Component, Class)}. */ public static void send(final Component sender, final Object payload) { sender.send(sender.getPage(), Broadcast.DEPTH, payload); } /** * Send entity changed event. * * @param sender the sender * @param entityClass the entity class */ public static void entityEvent(final Component sender, final Class<? extends IEntity> entityClass) { send(sender, entityClass); } }