org.zkoss.bind
Class BindComposer<T extends Component>

java.lang.Object
  extended by org.zkoss.bind.BindComposer<T>
All Implemented Interfaces:
java.io.Serializable, AuService, Composer<T>, ComposerExt<T>

public class BindComposer<T extends Component>
extends java.lang.Object
implements Composer<T>, ComposerExt<T>, java.io.Serializable, AuService

Base composer to apply ZK Bind.

Since:
6.0.0
Author:
henrichen
See Also:
Serialized Form

Field Summary
protected static java.lang.String BINDER_ATTR
           
protected static java.lang.String BINDER_ID
           
protected static java.lang.String ID_ANNO
           
protected static java.lang.String INIT_ANNO
           
protected static java.lang.String QUEUE_NAME_ANNO_ATTR
           
protected static java.lang.String QUEUE_SCOPE_ANNO_ATTR
           
protected static java.lang.String VALIDATION_MESSAGES_ATTR
           
protected static java.lang.String VALUE_ANNO_ATTR
           
protected static java.lang.String VIEW_MODEL_ATTR
           
static java.lang.String VM_ID
           
 
Constructor Summary
BindComposer()
           
 
Method Summary
 void addConverter(java.lang.String name, Converter converter)
           
 void addValidator(java.lang.String name, Validator validator)
           
 void doAfterCompose(T comp)
          Invokes after ZK loader creates this component, initializes it and composes all its children, if any.
 ComponentInfo doBeforeCompose(Page page, Component parent, ComponentInfo compInfo)
          Invokes before composing a component.
 void doBeforeComposeChildren(Component comp)
          Invokes after the component is instantiated and initialized, but before composing any child.
 boolean doCatch(java.lang.Throwable ex)
          Called when an exception occurs when composing the component.
 void doFinally()
          Called after the component has been composed completely.
 Binder getBinder()
           
 Converter getConverter(java.lang.String name)
           
 Validator getValidator(java.lang.String name)
           
 java.lang.Object getViewModel()
           
 void notifyChange(java.lang.Object bean, java.lang.String property)
           
 boolean service(AuRequest request, boolean everError)
          Handles an AU request.
 void setViewModel(java.lang.Object viewModel)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VM_ID

public static final java.lang.String VM_ID
See Also:
Constant Field Values

BINDER_ID

protected static final java.lang.String BINDER_ID
See Also:
Constant Field Values

ID_ANNO

protected static final java.lang.String ID_ANNO
See Also:
Constant Field Values

INIT_ANNO

protected static final java.lang.String INIT_ANNO
See Also:
Constant Field Values

VALUE_ANNO_ATTR

protected static final java.lang.String VALUE_ANNO_ATTR
See Also:
Constant Field Values

VIEW_MODEL_ATTR

protected static final java.lang.String VIEW_MODEL_ATTR
See Also:
Constant Field Values

BINDER_ATTR

protected static final java.lang.String BINDER_ATTR
See Also:
Constant Field Values

VALIDATION_MESSAGES_ATTR

protected static final java.lang.String VALIDATION_MESSAGES_ATTR
See Also:
Constant Field Values

QUEUE_NAME_ANNO_ATTR

protected static final java.lang.String QUEUE_NAME_ANNO_ATTR
See Also:
Constant Field Values

QUEUE_SCOPE_ANNO_ATTR

protected static final java.lang.String QUEUE_SCOPE_ANNO_ATTR
See Also:
Constant Field Values
Constructor Detail

BindComposer

public BindComposer()
Method Detail

getBinder

public Binder getBinder()

setViewModel

public void setViewModel(java.lang.Object viewModel)

getViewModel

public java.lang.Object getViewModel()

getConverter

public Converter getConverter(java.lang.String name)

getValidator

public Validator getValidator(java.lang.String name)

addConverter

public void addConverter(java.lang.String name,
                         Converter converter)

addValidator

public void addValidator(java.lang.String name,
                         Validator validator)

doBeforeCompose

public ComponentInfo doBeforeCompose(Page page,
                                     Component parent,
                                     ComponentInfo compInfo)
                              throws java.lang.Exception
Description copied from interface: ComposerExt
Invokes before composing a component. If you want to manipulate the specified component info, you can use ComponentInfo.duplicate() to make a copy and then modify it such that it won't affect the default behavior.

Specified by:
doBeforeCompose in interface ComposerExt<T extends Component>
Parameters:
page - the page for composing this component.
parent - the parent component, or null if it is the root component.
compInfo - the component info used to instantiate the component. Notice that it is null if the page is rendered as ZK JSP, since ComponentInfo is not available under ZK JSP.
Returns:
the component info used to instantiate the component. In most case, it shall return compInfo. If null is returned, the component won't be instantiated. In other words, it is ignored.
Throws:
java.lang.Exception

doBeforeComposeChildren

public void doBeforeComposeChildren(Component comp)
                             throws java.lang.Exception
Description copied from interface: ComposerExt
Invokes after the component is instantiated and initialized, but before composing any child.

Specified by:
doBeforeComposeChildren in interface ComposerExt<T extends Component>
Parameters:
comp - the component being composed
Throws:
java.lang.Exception

doAfterCompose

public void doAfterCompose(T comp)
                    throws java.lang.Exception
Description copied from interface: Composer
Invokes after ZK loader creates this component, initializes it and composes all its children, if any.

Specified by:
doAfterCompose in interface Composer<T extends Component>
Parameters:
comp - the component has been composed
Throws:
java.lang.Exception

doCatch

public boolean doCatch(java.lang.Throwable ex)
                throws java.lang.Exception
Description copied from interface: ComposerExt
Called when an exception occurs when composing the component.

If you don't want to handle the exception, simply returns false. boolean doCatch(Throwable ex) {return false;}

An exception thrown in this method is simply logged. It has no effect on the execution. If you want to ignore the exception, just return true.

Specified by:
doCatch in interface ComposerExt<T extends Component>
Parameters:
ex - the exception being thrown
Returns:
whether to ignore the exception. If false is returned, the exception will be re-thrown. Note: once a composer's doCatch returns true, the exception will be ignored and it means doCatch of the following composers won't be called.
Throws:
java.lang.Exception

doFinally

public void doFinally()
               throws java.lang.Exception
Description copied from interface: ComposerExt
Called after the component has been composed completely. It is the last step of the composing.

Note: it is always called even if ComposerExt.doCatch(java.lang.Throwable), ComposerExt.doBeforeComposeChildren(T) or Composer.doAfterCompose(T) is not called (due to exceptions).

Note: it is called after the onCreate event is posted, but before the onCreate and any other events are handled.

An exception thrown in this method is simply logged. It has no effect on the execution.

Specified by:
doFinally in interface ComposerExt<T extends Component>
Throws:
java.lang.Exception

notifyChange

public void notifyChange(java.lang.Object bean,
                         java.lang.String property)

service

public boolean service(AuRequest request,
                       boolean everError)
Description copied from interface: AuService
Handles an AU request.

Specified by:
service in interface AuService
Parameters:
request - the request sent from the client.
everError - whether any error ever occurred before processing this request.
Returns:
whether the request has been processed. If false is returned, the default process (handled by the component) will take place.


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