|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.zk.ui.impl.AbstractExecution
org.zkoss.zk.ui.http.ExecutionImpl
public class ExecutionImpl
An Execution implementation for HTTP request
and response.
| Field Summary |
|---|
| Fields inherited from interface org.zkoss.zk.ui.Execution |
|---|
APPEND_PARAM, IGNORE_PARAM, OVERWRITE_URI, PASS_THRU_ATTR |
| Constructor Summary | |
|---|---|
ExecutionImpl(javax.servlet.ServletContext ctx,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Desktop desktop,
Page creating)
Constructs an execution for HTTP request. |
|
| Method Summary | |
|---|---|
void |
addDateHeader(java.lang.String name,
long value)
Adds a response header with the given name and date-value. |
void |
addHeader(java.lang.String name,
java.lang.String value)
Adds a responseheader with the given name and value. |
java.lang.String |
encodeURL(java.lang.String uri)
Encodes an URL. |
java.lang.Object |
evaluate(Component comp,
java.lang.String expr,
java.lang.Class expectedType)
Evluates the specified expression with ${link #getVariableResolver} and Page.getFunctionMapper() of the page of the specified
component. |
java.lang.Object |
evaluate(Page page,
java.lang.String expr,
java.lang.Class expectedType)
Evluates the specified expression with ${link #getVariableResolver} and Page.getFunctionMapper() of the specified
page. |
void |
forward(java.lang.String page)
A shortcut of forward(null, page, null, 0). |
void |
forward(java.io.Writer out,
java.lang.String page,
java.util.Map params,
int mode)
Forwards to another page. |
java.lang.Object |
getAttribute(java.lang.String name)
Returns the value of the specified request attribute. |
java.util.Map |
getAttributes()
Returns a map of request attributes associated with this session. |
java.lang.String |
getContextPath()
Returns the portion of the request URI that indicates the context of the current execution. |
Evaluator |
getEvaluator(Component comp,
java.lang.Class expfcls)
Returns the evaluator of the current execution. |
Evaluator |
getEvaluator(Page page,
java.lang.Class expfcls)
Returns the evaluator (never null). |
java.lang.String |
getLocalAddr()
Returns the Internet Protocol (IP) address of the interface on which the request was received. |
java.lang.String |
getLocalName()
Returns the host name of the Internet Protocol (IP) interface on which the request was received. |
int |
getLocalPort()
Returns the Internet Protocol (IP) port number of the interface on which the request was received. |
java.lang.Object |
getNativeRequest()
Returns the native request, or null if not available. |
java.lang.Object |
getNativeResponse()
Returns the native response, or null if not available. |
PageDefinition |
getPageDefinition(java.lang.String uri)
Returns the page definition from the page file specified by an URI. |
PageDefinition |
getPageDefinitionDirectly(org.zkoss.idom.Document content,
java.lang.String ext)
Converts the specified page content, in DOM, to a page definition. |
PageDefinition |
getPageDefinitionDirectly(java.io.Reader reader,
java.lang.String ext)
Reads the raw content from a reader and converts it into a page definition. |
PageDefinition |
getPageDefinitionDirectly(java.lang.String content,
java.lang.String ext)
Converts the specified page content to a page definition. |
java.lang.String |
getParameter(java.lang.String name)
Returns the value of a request parameter as a String, or null if the parameter does not exist |
java.util.Map |
getParameterMap()
Returns a Map of the parameters of this request. |
java.lang.String[] |
getParameterValues(java.lang.String name)
Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist. |
java.lang.String |
getRemoteAddr()
Returns the Internet Protocol (IP) address of the client or last proxy that sent the request. |
java.lang.String |
getRemoteName()
Returns the fully qualified name of the client or the last proxy that sent the request. |
java.lang.String |
getRemoteUser()
Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated. |
java.lang.Object |
getRequestAttribute(java.lang.String name)
Returns the value of an attribute in the client request (e.g., HTTP request) that creates this execution. |
java.lang.String |
getServerName()
Returns the host name of the server to which the request was sent. |
int |
getServerPort()
Returns the port number to which the request was sent. |
java.security.Principal |
getUserPrincipal()
Returns a java.security.Principal object containing the name of the current authenticated user. |
org.zkoss.xel.VariableResolver |
getVariableResolver()
Returns the variable resolver for this execution, or null if not available. |
void |
include(java.lang.String page)
A shortcut of include(null, page, null, 0). |
void |
include(java.io.Writer out,
java.lang.String page,
java.util.Map params,
int mode)
Includes a page. |
boolean |
isBrowser()
Returns whether the client is a browser. |
boolean |
isExplorer()
Returns whether the client is Internet Explorer. |
boolean |
isExplorer7()
Returns whether the client is Internet Explorer 7 or later. |
boolean |
isForwarded()
Returns whether the execution is forwarded from other pages. |
boolean |
isGecko()
Returns whether the client is Gecko based, such as Mozilla, Firefox and Camino. |
boolean |
isIncluded()
Returns whether this execution is included by some other pages. |
boolean |
isMilDevice()
Returns whether the client is a mobile device supporting MIL (Mobile Interactive Language). |
boolean |
isRobot()
Returns whether the client is a robot (such as Web crawlers). |
boolean |
isSafari()
Returns whether the client is Safari. |
boolean |
isUserInRole(java.lang.String role)
Returns a boolean indicating whether the authenticated user is included in the specified logical "role". |
boolean |
isVoided()
Returns whether the execution is voided. |
void |
onActivate()
Called when this execution is about to become the current execution Executions.getCurrent(). |
void |
onDeactivate()
Called when this execution is about to become a non-current execution. |
void |
removeAttribute(java.lang.String name)
Removes the specified request attribute. |
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Sets the value of the specified request attribute. |
void |
setDateHeader(java.lang.String name,
long value)
Sets a response header with the given name and date-value. |
void |
setHeader(java.lang.String name,
java.lang.String value)
Sets a responseheader with the given name and value. |
void |
setRequestAttribute(java.lang.String name,
java.lang.Object value)
Sets the value of an attribute to the client request (e.g., HTTP request) that creates this execution. |
void |
setVoided(boolean voided)
Sets whether the execution is voided. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ExecutionImpl(javax.servlet.ServletContext ctx,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Desktop desktop,
Page creating)
creating - which page is being creating for this execution, or
null if none is being created.
AbstractExecution.isAsyncUpdate(org.zkoss.zk.ui.Page) returns based on this.| Method Detail |
|---|
public void onActivate()
ExecutionCtrlExecutions.getCurrent().
Note: an execution might spread over several threads, so this method might be called several times to activate the states in each thread. Also, an execution might be activated before another is deactivate. For example, when a component includes another page, the second exec is activated to render the included page.
It is used as callback notification.
Note: don't throw any exception in this method.
onActivate in interface ExecutionCtrlonActivate in class AbstractExecutionpublic void onDeactivate()
ExecutionCtrlIt is used as callback notification.
Note: don't throw any exception in this method.
onDeactivate in interface ExecutionCtrlonDeactivate in class AbstractExecutionExecutionCtrl.onActivate()public java.lang.String[] getParameterValues(java.lang.String name)
Execution
public java.lang.String getParameter(java.lang.String name)
Execution
public java.util.Map getParameterMap()
Execution
public org.zkoss.xel.VariableResolver getVariableResolver()
ExecutionNote: the resolver is similar to PageContext's if this execution is caused by a HTTP request.
Execution.evaluate(Component,String,Class)
public Evaluator getEvaluator(Page page,
java.lang.Class expfcls)
ExecutionExpression
or used with ExValue.
for performance improvement.
page - the page that this evaluator is associated.
If null, the current page and then the first page is assumed.expfcls - the implementation of ExpressionFactory,
or null to use the default (Configuration.getExpressionFactoryClass().
public Evaluator getEvaluator(Component comp,
java.lang.Class expfcls)
Execution
comp - the component to retrieve the page for the evaluatorexpfcls - the implementation of ExpressionFactory,
or null to use the default (Configuration.getExpressionFactoryClass().
public java.lang.Object evaluate(Component comp,
java.lang.String expr,
java.lang.Class expectedType)
ExecutionPage.getFunctionMapper() of the page of the specified
component.
The function mapper is retrieved from component's page's function
mapper (Page.getFunctionMapper()).
If null, the current page, if any, is used to retrieve
the mapper.
For better performance, you can use the instance returned by
Execution.getEvaluator(org.zkoss.zk.ui.Page, java.lang.Class) to parse and cached the parsed expression.
ExValue is a utility class to simply
the task.
comp - used as the self variable and to retrieve the function
mapper. Ignored if null.Execution.getVariableResolver(),
Execution.getEvaluator(org.zkoss.zk.ui.Page, java.lang.Class)
public java.lang.Object evaluate(Page page,
java.lang.String expr,
java.lang.Class expectedType)
ExecutionPage.getFunctionMapper() of the specified
page.
The function mapper is retrieved from component's page's function
mapper (Page.getFunctionMapper()).
If null, the current page, if any, is used to retrieve
the mapper.
For better performance, you can use the instance returned by
Execution.getEvaluator(org.zkoss.zk.ui.Page, java.lang.Class) to parse and cached the parsed expression.
ExValue is a utility class to simply
the task.
page - used as the self variable and to retrieve the function
mapper. Ignored if null.Execution.getVariableResolver(),
Execution.getEvaluator(org.zkoss.zk.ui.Page, java.lang.Class)
public void include(java.io.Writer out,
java.lang.String page,
java.util.Map params,
int mode)
throws java.io.IOException
Execution
out - the output to write. If null, the response's default
writer is used.page - the page's uri; null to denote the same requestmode - one of Execution.OVERWRITE_URI, Execution.IGNORE_PARAM,
Execution.APPEND_PARAM and Execution.PASS_THRU_ATTR.
It defines how to handle if both uri and params contains
the same parameter.
mode is used only if both uri contains query string and params is
not empty.
java.io.IOException
public void include(java.lang.String page)
throws java.io.IOException
Execution
java.io.IOException
public void forward(java.io.Writer out,
java.lang.String page,
java.util.Map params,
int mode)
throws java.io.IOException
ExecutionNote: this method can be called only when loading a page.
Use Execution.sendRedirect(String) instead if you want to change
to another desktop when processing a request from the client.
out - the output to write. If null, the response's default
writer is used.page - the page's uri; null to denote the same requestmode - one of Execution.OVERWRITE_URI, Execution.IGNORE_PARAM,
Execution.APPEND_PARAM and Execution.PASS_THRU_ATTR.
It defines how to handle if both uri and params contains
the same parameter.
mode is used only if both uri contains query string and params is
not empty.
java.io.IOException
public void forward(java.lang.String page)
throws java.io.IOException
Execution
java.io.IOExceptionpublic boolean isIncluded()
Execution
public boolean isForwarded()
Execution
public boolean isVoided()
ExecutionThe common cause of being voided is the invocation of
Execution.forward(java.io.Writer, java.lang.String, java.util.Map, int).
public void setVoided(boolean voided)
ExecutionIf you invoke Execution.forward(java.io.Writer, java.lang.String, java.util.Map, int), this method is called automatically
with true. Thus, you rarely need to invoke this method, unless
you forward to other servlet by use javax.servlet.RequestDispatcher
directly.
public java.lang.String encodeURL(java.lang.String uri)
ExecutionIt resolves "*" contained in URI, if any, to the proper Locale,
and the browser code.
Refer to Servlets.locate(ServletContext, ServletRequest, String, Locator)
for details.
public java.security.Principal getUserPrincipal()
Execution
public boolean isUserInRole(java.lang.String role)
Execution
role - a String specifying the name of the rolepublic java.lang.String getRemoteUser()
Execution
public java.lang.String getRemoteName()
Execution
public java.lang.String getRemoteAddr()
Execution
public java.lang.String getServerName()
Execution
Execution.getLocalName()public int getServerPort()
Execution
Execution.getLocalPort()public java.lang.String getLocalName()
ExecutionNote: it is the host name defined in the server. To retrieve the name
in URL, use Execution.getServerName().
Execution.getServerName()public java.lang.String getLocalAddr()
Execution
public int getLocalPort()
Execution
Execution.getServerPort()public java.lang.String getContextPath()
ExecutionIf the client is not using HTTP to access, this method return "";
Page.getRequestPath()public PageDefinition getPageDefinition(java.lang.String uri)
ExecutionImplemetation Notes: this method must invoke
UiFactory.getPageDefinition(org.zkoss.zk.ui.sys.RequestInfo, String)
uri - the URI of the page file.Execution.getPageDefinitionDirectly(String, String),
Execution.getPageDefinitionDirectly(Document, String),
Execution.getPageDefinitionDirectly(Reader, String)
public PageDefinition getPageDefinitionDirectly(java.lang.String content,
java.lang.String ext)
ExecutionImplemetation Notes: this method must invoke
UiFactory.getPageDefinitionDirectly(org.zkoss.zk.ui.sys.RequestInfo, String, String)
content - the raw content of the page. It must be in ZUML.ext - the default extension if the content doesn't specify
an language. In other words, if
the content doesn't specify an language, LanguageDefinition.getByExtension(java.lang.String)
is called.
If extension is null and the content doesn't specify a language,
the language called "xul/html" is assumed.Execution.getPageDefinitionDirectly(Document, String),
Execution.getPageDefinitionDirectly(Reader, String),
Execution.getPageDefinition(java.lang.String)
public PageDefinition getPageDefinitionDirectly(org.zkoss.idom.Document content,
java.lang.String ext)
Execution
content - the raw content of the page in DOM.ext - the default extension if the content doesn't specify
an language. In other words, if
the content doesn't specify an language, LanguageDefinition.getByExtension(java.lang.String)
is called.
If extension is null and the content doesn't specify a language,
the language called "xul/html" is assumed.Execution.getPageDefinitionDirectly(String, String),
Execution.getPageDefinitionDirectly(Reader, String),
Execution.getPageDefinition(java.lang.String)
public PageDefinition getPageDefinitionDirectly(java.io.Reader reader,
java.lang.String ext)
throws java.io.IOException
Execution
reader - used to input the raw content of the page. It must be in ZUML.ext - the default extension if the content doesn't specify
an language. In other words, if
the content doesn't specify an language, LanguageDefinition.getByExtension(java.lang.String)
is called.
If extension is null and the content doesn't specify a language,
the language called "xul/html" is assumed.
java.io.IOExceptionExecution.getPageDefinitionDirectly(String, String),
Execution.getPageDefinitionDirectly(Document, String),
Execution.getPageDefinition(java.lang.String)
public void setHeader(java.lang.String name,
java.lang.String value)
ExecutionCtrl
value - the additional header value If it contains octet string,
it should be encoded according to RFC 2047
(http://www.ietf.org/rfc/rfc2047.txt).
public void setDateHeader(java.lang.String name,
long value)
ExecutionCtrl
public void addHeader(java.lang.String name,
java.lang.String value)
ExecutionCtrl
value - the additional header value If it contains octet string,
it should be encoded according to RFC 2047
(http://www.ietf.org/rfc/rfc2047.txt).
public void addDateHeader(java.lang.String name,
long value)
ExecutionCtrl
public java.lang.Object getRequestAttribute(java.lang.String name)
ExecutionCtrlNotice that a servlet might include serveral ZK pages, while an independent execution is created for adding a new page. It means, each client request might create several executions. Thus, the attribute set by this method might last for several executions (until the request ends).
public void setRequestAttribute(java.lang.String name,
java.lang.Object value)
ExecutionCtrl
public boolean isBrowser()
Execution
public boolean isRobot()
ExecutionBecause there are too many robots, it returns true if the user-agent is not recognized.
public boolean isExplorer()
ExecutionExecution.isExplorer7() is true.
public boolean isExplorer7()
Execution
public boolean isGecko()
Execution
public boolean isSafari()
Execution
public boolean isMilDevice()
Execution
public java.lang.Object getNativeRequest()
ExecutionThe returned object depends on the Web container. If it is based Java servlet container, an instance of javax.servlet.ServletRequest is returned.
public java.lang.Object getNativeResponse()
ExecutionThe returned object depends on the Web container. If it is based Java servlet container, an instance of javax.servlet.ServletResponse is returned.
public java.lang.Object getAttribute(java.lang.String name)
Execution
public void setAttribute(java.lang.String name,
java.lang.Object value)
Execution
value - the value. If null, the attribute is removed.public void removeAttribute(java.lang.String name)
Execution
public java.util.Map getAttributes()
Execution
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||