/* AbortBySendRedirect.java Purpose: Description: History: Sun Apr 30 18:15:25 2006, Created by tomyeh Copyright (C) 2006 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under LGPL Version 2.1 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.zk.ui.impl; import org.zkoss.zk.au.AuResponse; import org.zkoss.zk.au.out.AuSendRedirect; import org.zkoss.zk.ui.sys.AbortingReason; /** * The aborting reason for send-redirect. * In other words, the client will redirect the specified URL. * * @author tomyeh */ public class AbortBySendRedirect implements AbortingReason { private final String _url; private final String _target; /** Constructs an aborting reason for send-redirect. * * @param url the target URL, never null. * @param target the target browser window, or null to use the current one. */ public AbortBySendRedirect(String url, String target) { if (url == null) throw new IllegalArgumentException("null"); _url = url; _target = target; } //-- AbortingReason --// public boolean isAborting() { return !_url.startsWith("mailto:") && !_url.startsWith("javascript:") && (_target == null || "_self".equals(_target)); } public void execute() { } public AuResponse getResponse() { return new AuSendRedirect(_url, _target); } public void finish() { } }