/* ProxyEvent.java
Purpose:
Description:
History:
Wed May 4 12:18:05 TST 2011, Created by tomyeh
Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.zk.ui.impl;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
/**
* Used to proxy another event.
* It is used internally for {@link org.zkoss.zk.ui.Execution#postEvent(int, Component, Event)}
* to handle if the real target of an event is different from {@link Event#getTarget}.
*
* @author tomyeh
* @since 5.0.7
*/
public class ProxyEvent extends Event {
private final Event _event;
private final Component _realTarget;
/** Constructor.
*
* <p>Notice that {@link #getTarget} is the same as the target of the given
* event. To retrieve the real target (passed thru the argument), please
* use {@link #getRealTarget} instead.
*
* @param realTarget the real target. If null, it means broadcast.
* @param event the proxied event.
*/
public ProxyEvent(Component realTarget, Event event) {
super(event.getName(), event.getTarget(), event.getData());
_realTarget = realTarget;
_event = event;
}
/** Returns the real target.
*/
public Component getRealTarget() {
return _realTarget;
}
/** Returns the proxied event.
*/
public Event getProxiedEvent() {
return _event;
}
}