org.zkoss.zk.ui.metainfo
Class ZScript

java.lang.Object
  extended by org.zkoss.zk.ui.metainfo.ZScript
All Implemented Interfaces:
java.io.Serializable, Condition

public class ZScript
extends java.lang.Object
implements Condition, java.io.Serializable

Represents a zscript element.

Author:
tomyeh
See Also:
Serialized Form

Constructor Summary
ZScript(EvaluatorRef evalr, java.lang.String zslang, java.lang.String content, ConditionImpl cond)
          Creates a zscript object with the content directly.
ZScript(EvaluatorRef evalr, java.lang.String zslang, java.lang.String url, ConditionImpl cond, Locator locator)
          Constructs a ZScript with an URL, which might contain an EL expression.
ZScript(EvaluatorRef evalr, java.lang.String zslang, java.net.URL url, ConditionImpl cond)
          Create a zscript object with an URL that is used to load the content.
 
Method Summary
 java.lang.String getContent(Page page, Component comp)
          Returns the content of zscript.
 java.lang.String getLanguage()
          Returns the scripting language, or null if the default scripting language is preferred.
 java.lang.String getRawContent()
          Returns the raw content.
 boolean isDeferred()
          Returns whether the evaluation of the zscript shall be deferred.
 boolean isEffective(Component comp)
          Used to evaluate whether it is effective.
 boolean isEffective(Page page)
          Used to evaluate whether it is effective.
static ZScript parseContent(java.lang.String content)
          Parses the content into a ZScript instance.
static ZScript parseContent(java.lang.String content, int lineno)
          Parses the content into a ZScript instance.
 void setDeferred(boolean deferred)
          Sets whether the evaluation of the zscript shall be deferred.
 void setLanguage(java.lang.String zslang)
          Sets the scripting language.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ZScript

public ZScript(EvaluatorRef evalr,
               java.lang.String zslang,
               java.lang.String content,
               ConditionImpl cond)
Creates a zscript object with the content directly.

Parameters:
evalr - the evaluator reference. It is required if cond is not null.
zslang - the scripting language. If null, it is the same as Page.getZScriptLanguage().
content - the zscript content
Since:
3.0.0

ZScript

public ZScript(EvaluatorRef evalr,
               java.lang.String zslang,
               java.net.URL url,
               ConditionImpl cond)
Create a zscript object with an URL that is used to load the content.

Parameters:
evalr - the evaluator reference. It is required if cond is not null.
url - the URL to load the content of zscript.
Since:
3.0.0

ZScript

public ZScript(EvaluatorRef evalr,
               java.lang.String zslang,
               java.lang.String url,
               ConditionImpl cond,
               Locator locator)
Constructs a ZScript with an URL, which might contain an EL expression.

Parameters:
evalr - the evaluator reference. It is required if cond is not null or url contains EL expression.
url - the URL. It may contain XEL expressions.
locator - the locator used to locate the zscript file
Method Detail

parseContent

public static final ZScript parseContent(java.lang.String content)
Parses the content into a ZScript instance.

This method assumes the content is in the following format:
lang:codes
codes

For example, "javascript:var m = 0;" returns "javascript", while "var m = 0;" returns null.

Note: if the language doesn't exist, null is returned. Reason: the above syntax may be conflict with some scripting languages.

Note: no space is allowed.

Parameters:
content - the content of zscript codes
Since:
3.0.0

parseContent

public static final ZScript parseContent(java.lang.String content,
                                         int lineno)
Parses the content into a ZScript instance.

It is similar to parseContent(String) except it allows the caller to specify the line number of the first line of the content.

Parameters:
content - the content of zscript codes
lineno - the linenumber of the first line. Ignored if zero (or negative).
Since:
3.6.1

getLanguage

public java.lang.String getLanguage()
Returns the scripting language, or null if the default scripting language is preferred.


setLanguage

public void setLanguage(java.lang.String zslang)
Sets the scripting language.

Parameters:
zslang - the scripting language. If null, the default scripting language is assume.

getRawContent

public java.lang.String getRawContent()
Returns the raw content. It is the content specified in the contructor (ZScript(EvaluatorRef, String, String, ConditionImpl). If URL is specified in the contructor, null is returned.

On the other hand, getContent(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Component) will load the content automatically if URL is specified.

Returns:
the raw content specified in the contructor, or null if URL is specified instead.

getContent

public java.lang.String getContent(Page page,
                                   Component comp)
Returns the content of zscript. If URL is specified, this method loads the content from it. If URL is an EL expression, it will be evaluated first.

Note: before evaluating the returned script, you have to invoke isEffective(Component) or isEffective(Page) first.

Parameters:
page - the page when this zscript is interpreted. Used only if this object is contructed with ZScript(EvaluatorRef, String, String, ConditionImpl, Locator).
comp - the component when this zscript is interpreted. Used only if this object is contructed with ZScript(EvaluatorRef, String, String, ConditionImpl, Locator).
Throws:
UiException - if faied to load the content

isDeferred

public boolean isDeferred()
Returns whether the evaluation of the zscript shall be deferred.


setDeferred

public void setDeferred(boolean deferred)
Sets whether the evaluation of the zscript shall be deferred.

Default: false.


isEffective

public boolean isEffective(Component comp)
Description copied from interface: Condition
Used to evaluate whether it is effective.

Specified by:
isEffective in interface Condition
Parameters:
comp - used as the self variable. Ignored if null.

isEffective

public boolean isEffective(Page page)
Description copied from interface: Condition
Used to evaluate whether it is effective.

Specified by:
isEffective in interface Condition
Parameters:
page - used as the self variable. Ignored if null.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo