@ContextParam"

From Documentation
(Created page with "{{ZKDevelopersReferencePageHeader}} =Syntax= <source lang="java"> @ContextParam(ContextType.PAGE) </source> '''Enumeration of all context''' <source lang="java"> enum Context...")
 
Line 82: Line 82:
 
</source>
 
</source>
 
*In above example, the variable component is a Button object and view is a Vbox object.
 
*In above example, the variable component is a Button object and view is a Vbox object.
 +
 +
 +
 +
 +
=Version History=
 +
{{LastUpdated}}
 +
{| border='1px' | width="100%"
 +
! Version !! Date !! Content
 +
|-
 +
| 6.0.0
 +
| February 2012
 +
| The MVVM was introduced.
 +
|}
 +
 +
  
 
{{ZKDevelopersReferencePageFooter}}
 
{{ZKDevelopersReferencePageFooter}}

Revision as of 01:52, 9 February 2012


Syntax

@ContextParam(ContextType.PAGE)

Enumeration of all context

enum ContextType {
    BIND_CONTEXT,	//BindContext instance
    BINDER,			//Binder instance
    EXECUTION,		//Execution instance
    COMPONENT,		//Component instance of current binding
    SPACE_OWNER,	//IdSpance instance of spaceOwner of current component
    VIEW,			//the view component of binder
    PAGE,			//Page instance of current component
    DESKTOP,		//Desktop instance of current component
    SESSION,		//Session instance
    APPLICATION,	//Application instance
}


Description

Target: A method's parameter (initial method and command method)

Purpose: Tell binder to pass the context object with specified type.

The annotation is applied to initial method's (or command method's) parameter. Methods can get various ZK context object like: Page or Desktop by applying annotation on parameters.

Example

Retrieve various context object in a ViewModel

    @Init
    public void init(@ContextParam(ContextType.APPLICATION_SCOPE) Map<?, ?> applicationScope,
            @ContextParam(ContextType.SESSION_SCOPE) Map<?, ?> sessionScope,
            @ContextParam(ContextType.DESKTOP_SCOPE) Map<?, ?> desktopScope,
            @ContextParam(ContextType.PAGE_SCOPE) Map<?, ?> pageScope,
            @ContextParam(ContextType.SPACE_SCOPE) Map<?, ?> spaceScope,
            @ContextParam(ContextType.REQUEST_SCOPE) Map<?, ?> requestScope,
            @ContextParam(ContextType.COMPONENT_SCOPE) Map<?, ?> componentScope,

            @ContextParam(ContextType.EXECUTION) Execution execution,
            @ContextParam(ContextType.COMPONENT) Component component,
            @ContextParam(ContextType.SPACE_OWNER) IdSpace spaceOwner, 
            @ContextParam(ContextType.PAGE) Page page,
            @ContextParam(ContextType.DESKTOP) Desktop desktop,
            @ContextParam(ContextType.SESSION) Session session,
            @ContextParam(ContextType.APPLICATION) WebApp application,

            @ContextParam(ContextType.BIND_CONTEXT) BindContext bindContext,
            @ContextParam(ContextType.BINDER) Binder binder) {..}

The following is another example.

<vbox id="vbox" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('eg.ContextParamVM')">

<button id="cmd" label="cmd" onClick="@command('cmd')" >
</vbox>

A ViewModel used by above zul

public class ContextParamVM{
	@Command
	public void cmd(@ContextParam(ContextType.COMPONENT) Component component,
			@ContextParam(ContextType.VIEW) Component view) {
	}
}
  • In above example, the variable component is a Button object and view is a Vbox object.



Version History

Last Update : 2012/02/09


Version Date Content
6.0.0 February 2012 The MVVM was introduced.




Last Update : 2012/02/09

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.