Package org.zkoss.clientbind

## Class DefaultClientBinder

- java.lang.Object
- - org.zkoss.clientbind.DefaultClientBinder

- All Implemented Interfaces:
    `java.io.Serializable`, `Binder`, `BinderCtrl`, `ClientBinder`

      public class DefaultClientBinder
      extends java.lang.Object

  Author:
    jameschu
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `DISABLE_METHOD_CACHE` |

    - ### Fields inherited from interface org.zkoss.bind.Binder

      `ACCESS, COMMAND_FAIL_VALIDATE, COMMAND_SUCCESS, CONVERTER, LOAD_EVENT, LOAD_REPLACEMENT, LOAD_TYPE, RENDERER, SAVE_EVENT, SAVE_REPLACEMENT, VALIDATOR, ZKBIND`

    - ### Fields inherited from interface org.zkoss.bind.sys.BinderCtrl

      `BINDCTX, BINDER, BINDING, BINDRENDERING, CHILDREN_ATTR, CHILDREN_BINDING_MODEL, CHILDREN_BINDING_MODEL_LISTENER, CHILDREN_BINDING_RENDERED_COMPONENTS, CLIENT_INFO, CLIENT_UPLOAD_INFO, DEFAULT_QUEUE_NAME, DEFAULT_QUEUE_SCOPE, DEPENDS_ON_COMP, FORM_ID, IGNORE_REF_VALUE, IGNORE_TRACKER, INVALIDATE_REF_VALUE, IS_TEMPLATE_MODEL_ENABLED_ATTR, LOAD_FORM_COMPONENT, LOAD_FORM_EXPRESSION, MATCHMEDIAVALUE_PREFIX, MODEL, NOTIFYS, ON_BIND_CLEAN, ON_BIND_INIT, PHASE_LISTENER_CLASS_KEY, REMOVE_BINDINGS, RENDERER_INSTALLED, SAVE_BASE, SRCPATH, VALIDATES, VAR, VIEWMODELID_BINDER_MAP_KEY, VM`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultClientBinder()` |
    `DefaultClientBinder​(java.lang.String qname, java.lang.String qscope)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChildrenInitBinding​(Component component, java.lang.String s, java.util.Map<java.lang.String,​java.lang.Object> map)` |
    `void` | `addChildrenInitBinding​(Component component, java.lang.String s, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map1)` | init children of a component by an expression, it only execute once
    `void` | `addChildrenLoadBindings​(Component component, java.lang.String s, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map)` |
    `void` | `addChildrenLoadBindings​(Component component, java.lang.String s, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map1)` | Add new children-load-bindings.
    `void` | `addCommandBinding​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map)` | Add a new command binding.
    `void` | `addFormAssociatedSaveBinding​(Component component, java.lang.String s, SaveBinding saveBinding, java.lang.String s1)` | Add a association between formId and a associated save binding(save binding inside a form), the form has to exist in the parent components
    `void` | `addFormInitBinding​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map)` | init a component form by expression, it only execute once
    `void` | `addFormLoadBindings​(Component component, java.lang.String s, java.lang.String s1, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map)` | Add new form-load-bindings.
    `void` | `addFormSaveBindings​(Component component, java.lang.String s, java.lang.String s1, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s2, java.util.Map<java.lang.String,​java.lang.Object> map1)` | Add new form-save-bindings.
    `void` | `addGlobalCommandBinding​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map)` | Add a new global-command binding.
    `void` | `addPhaseListener​(PhaseListener phaseListener)` | Add the `PhaseListener`
    `void` | `addPropertyInitBinding​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s2, java.util.Map<java.lang.String,​java.lang.Object> map1)` | init a component property by a expression, it only execute once
    `void` | `addPropertyLoadBindings​(Component component, java.lang.String s, java.lang.String s1, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s2, java.util.Map<java.lang.String,​java.lang.Object> map1)` | Add new property-load-bindings.
    `void` | `addPropertySaveBindings​(Component component, java.lang.String s, java.lang.String s1, java.lang.String[] strings, java.lang.String[] strings1, java.util.Map<java.lang.String,​java.lang.Object> map, java.lang.String s2, java.util.Map<java.lang.String,​java.lang.Object> map1, java.lang.String s3, java.util.Map<java.lang.String,​java.lang.Object> map2)` | Add new property-save-bindings.
    `void` | `addReferenceBinding​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map)` | Add a new reference-binding.
    `void` | `addSaveFormFieldName​(Form form, java.lang.String s)` | Adds a field name for saving with the given Form.
    `void` | `addSaveFormFieldName​(Form form, java.util.Set<java.lang.String> set)` | Adds all field names for saving with the given Form.
    `protected void` | `checkInit()` |
    `protected void` | `clearValidationMessages​(Binder binder, Component component, java.lang.String attr)` |
    `protected ParamCallEx` | `createParamCall​(BindContext ctx)` |
    `void` | `destroy​(Component comp, java.lang.Object viewModel)` | Destroys the binder with a root component and viewModel object.
    `protected void` | `doExecute​(Component comp, java.lang.String command, java.util.Map<java.lang.String,​java.lang.Object> commandArgs, BindContext ctx, java.util.Set<Property> notifys)` |
    `boolean` | `doValidate​(Component comp, SaveFormBinding binding, boolean isValid)` |
    `boolean` | `doValidate​(Component comp, SavePropertyBinding binding, boolean isValid)` |
    `protected void` | `fireNotifyChanges​(java.util.Set<Property> notifys)` |
    `BindingAnnotationInfoChecker` | `getBindingAnnotationInfoChecker()` | get binding annotation info checker
    `BindingExecutionInfoCollector` | `getBindingExecutionInfoCollector()` | get binding execution info collector
    `Converter` | `getConverter​(java.lang.String name)` | Returns the _converter of the given _converter name.
    `BindEvaluatorX` | `getEvaluatorX()` | Returns the `BindEvaluatorX` used by this Binder.
    `EventQueue<Event>` | `getEventQueue()` |
    `Form` | `getForm​(Component component, java.lang.String s)` | Get the form of the component
    `java.util.Set<SaveBinding>` | `getFormAssociatedSaveBindings​(Component component)` | Get associated save bindings of a form in a component
    `java.util.List<Binding>` | `getLoadPromptBindings​(Component component, java.lang.String s)` | get all load prompt binding of the component and attribute
    `java.util.Map<java.lang.String,​java.lang.reflect.Method>` | `getMatchMediaValue()` | Returns an unmodifiable Map containing all the MatchMedia annotation values of this binder.
    `PhaseListener` | `getPhaseListener()` |
    `java.util.List<PhaseListener>` | `getPhaseListeners()` | get the first `PhaseListener`
    `java.lang.String` | `getQueueName()` | Returns the queue name of this binder
    `java.lang.String` | `getQueueScope()` | Returns the queue scope of this binder
    `java.util.Set<java.lang.String>` | `getSaveFormFieldNames​(Form form)` | Returns all field names for saving with the given Form.
    `TemplateResolver` | `getTemplateResolver​(Component component, java.lang.String s)` | get the template resolver that sets by `Binder.setTemplate(Component, String, String, java.util.Map)`
    `Tracker` | `getTracker()` | Returns associated dependency tracker of this binder.
    `ValidationMessages` | `getValidationMessages()` | Get the `ValidationMessages`
    `Validator` | `getValidator​(java.lang.String name)` | Returns the _validator of the given _validator name.
    `Component` | `getView()` | Returns associated root component of this binder.
    `java.lang.Object` | `getViewModel()` | Returns associated ViewModel of this binder.
    `boolean` | `hasValidator​(Component component, java.lang.String s)` | is there a validator on the attribute of component
    `void` | `init​(Component component, java.lang.Object viewModel)` |
    `void` | `init​(Component component, java.lang.Object viewModel, java.util.Map<java.lang.String,​java.lang.Object> initArgs)` | Initializes the binder with a root component and viewModel object.
    `void` | `initActivator()` | Internal use only.
    `void` | `initQueue()` | Internal use only.
    `boolean` | `isActivating()` | check if binder is in activating state
    `void` | `loadComponent​(Component comp, boolean loadinit)` | Load the load-binding of the component.
    `protected void` | `loadComponent0​(Component comp, boolean loadinit)` |
    `void` | `notifyChange​(java.lang.Object base, java.lang.String attr)` | Notify change of the property.
    `void` | `postCommand​(java.lang.String command, java.util.Map<java.lang.String,​java.lang.Object> args)` | post command this binder, binder will queue the command, and fired later.
    `void` | `removeBindings​(java.util.Set<Component> comps)` | Remove all managed bindings that associated with the specified components.
    `void` | `removeBindings​(Component comp)` | Remove all managed bindings that associated with the specified component.
    `void` | `removeBindings​(Component component, java.lang.String s)` | Remove all managed Binding that associated with the specified component and attribute name, event name, or form id.
    `java.util.Set<java.lang.String>` | `removeSaveFormFieldNames​(Form form)` | Remove all field names for saving with the given Form.
    `int` | `sendCommand​(java.lang.String command, java.util.Map<java.lang.String,​java.lang.Object> args)` | send command fired to this binder and process the command immediately
    `void` | `setPhaseListener​(PhaseListener phaseListener)` | Sets the associated phase listener to intervene the binding life cycle.
    `void` | `setTemplate​(Component component, java.lang.String s, java.lang.String s1, java.util.Map<java.lang.String,​java.lang.Object> map)` | set template to a component property by an expression
    `void` | `setValidationMessages​(ValidationMessages validationMessages)` | Set the `ValidationMessages`
    `void` | `setViewModel​(java.lang.Object vm)` | Sets associated ViewModel of this binder.
    `void` | `storeForm​(Component component, java.lang.String s, Form form)` | Store the form in the component with id
    `protected java.util.Map<java.lang.String,​Property[]>` | `toCollectedProperties​(java.util.Set<Property> validates)` |
    `protected java.util.Map<java.lang.String,​Property[]>` | `toCollectedProperties​(Property validate)` |
    `void` | `unbindQueue()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DISABLE_METHOD_CACHE

          public static final boolean DISABLE_METHOD_CACHE

  - ### Constructor Detail

    - #### DefaultClientBinder

          public DefaultClientBinder()

    - #### DefaultClientBinder

          public DefaultClientBinder​(java.lang.String qname,
                                     java.lang.String qscope)

  - ### Method Detail

    - #### init

          public void init​(Component component,
                           java.lang.Object viewModel)

    - #### init

          public void init​(Component component,
                           java.lang.Object viewModel,
                           java.util.Map<java.lang.String,​java.lang.Object> initArgs)

      Description copied from interface: `Binder`
      Initializes the binder with a root component and viewModel object. You should never call this if you use `AnnotateBinder` and zk annotation
      Specified by:
        `init` in interface `Binder`
      Parameters:
        `component` - root component of binder
        `viewModel` - viewModel object
        `initArgs` - args key-value pairs for initial, nullable

    - #### fireNotifyChanges

          protected void fireNotifyChanges​(java.util.Set<Property> notifys)

    - #### postCommand

          public void postCommand​(java.lang.String command,
                                  java.util.Map<java.lang.String,​java.lang.Object> args)

      Description copied from interface: `Binder`
      post command this binder, binder will queue the command, and fired later.
      Specified by:
        `postCommand` in interface `Binder`
      Parameters:
        `command` - command name
        `args` - , arguments when notifying this command, it will be passed as a arguments of execution method of vm

    - #### createParamCall

          protected ParamCallEx createParamCall​(BindContext ctx)

    - #### destroy

          public void destroy​(Component comp,
                              java.lang.Object viewModel)

      Description copied from interface: `Binder`
      Destroys the binder with a root component and viewModel object. You should never call this if you use `AnnotateBinder` and zk annotation
      Specified by:
        `destroy` in interface `Binder`
      Parameters:
        `comp` - root component of binder
        `viewModel` - viewModel object

    - #### loadComponent

          public void loadComponent​(Component comp,
                                    boolean loadinit)

      Description copied from interface: `Binder`
      Load the load-binding of the component.
      By calling this method, all load-bindings in the component (including load-bindings in its descendant) will reload the value to components.
      Specified by:
        `loadComponent` in interface `Binder`
      Parameters:
        `comp` - the component to reload
        `loadinit` - true if should also load the init-binding

    - #### loadComponent0

          protected void loadComponent0​(Component comp,
                                        boolean loadinit)

    - #### getEvaluatorX

          public BindEvaluatorX getEvaluatorX()

      Description copied from interface: `Binder`
      Returns the `BindEvaluatorX` used by this Binder.
      Specified by:
        `getEvaluatorX` in interface `Binder`
      Returns:
        the EvaluatorX.

    - #### addCommandBinding

          public void addCommandBinding​(Component component,
                                        java.lang.String s,
                                        java.lang.String s1,
                                        java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      Add a new command binding.
      Specified by:
        `addCommandBinding` in interface `Binder`
      Parameters:
        `component` - the associated component
        `s` - the associated component event name
        `s1` - the command expression
        `map` - other key-value pairs pairs for command

    - #### addGlobalCommandBinding

          public void addGlobalCommandBinding​(Component component,
                                              java.lang.String s,
                                              java.lang.String s1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      Add a new global-command binding.
      Specified by:
        `addGlobalCommandBinding` in interface `Binder`
      Parameters:
        `component` - the associated component
        `s` - the associated component event name
        `s1` - the command expression
        `map` - other key-value pairs pairs for command

    - #### setTemplate

          public void setTemplate​(Component component,
                                  java.lang.String s,
                                  java.lang.String s1,
                                  java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      set template to a component property by an expression
      Specified by:
        `setTemplate` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the associated attribute of the component; ex label, style, must not null
        `s1` - template expression, must not null
        `map` - args key-value pairs for template, nullable

    - #### addPropertyInitBinding

          public void addPropertyInitBinding​(Component component,
                                             java.lang.String s,
                                             java.lang.String s1,
                                             java.util.Map<java.lang.String,​java.lang.Object> map,
                                             java.lang.String s2,
                                             java.util.Map<java.lang.String,​java.lang.Object> map1)

      Description copied from interface: `Binder`
      init a component property by a expression, it only execute once
      Specified by:
        `addPropertyInitBinding` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the associated attribute of the component; ex label, style, must not null
        `s1` - init expression, must not null
        `map` - args key-value pairs for initial, nullable
        `s2` - the converter expression, nullable
        `map1` - args key-value pairs for converter, nullable

    - #### addPropertyLoadBindings

          public void addPropertyLoadBindings​(Component component,
                                              java.lang.String s,
                                              java.lang.String s1,
                                              java.lang.String[] strings,
                                              java.lang.String[] strings1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map,
                                              java.lang.String s2,
                                              java.util.Map<java.lang.String,​java.lang.Object> map1)

      Description copied from interface: `Binder`
      Add new property-load-bindings. It creates a prompt|conditional property-load-binding depends on beforeCmds and afterCmds. If both beforeCmds and afterCmds are null or empty, it create a prompt binding.
      Specified by:
        `addPropertyLoadBindings` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the associated attribute of the component; ex label, style, must not null
        `s1` - load expression, must not null
        `strings` - load before these commands, the command here is not a EL expression. nullable
        `strings1` - load after these commands, the command here is not a EL expression. nullable
        `map` - args key-value pairs for this binding, nullable
        `s2` - the converter expression, nullable
        `map1` - args key-value pairs for converter, nullable

    - #### addPropertySaveBindings

          public void addPropertySaveBindings​(Component component,
                                              java.lang.String s,
                                              java.lang.String s1,
                                              java.lang.String[] strings,
                                              java.lang.String[] strings1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map,
                                              java.lang.String s2,
                                              java.util.Map<java.lang.String,​java.lang.Object> map1,
                                              java.lang.String s3,
                                              java.util.Map<java.lang.String,​java.lang.Object> map2)

      Description copied from interface: `Binder`
      Add new property-save-bindings. It creates a prompt|conditional property-save-binding depends on beforeCmds and afterCmds. If both beforeCmds and afterCmds are null or empty, it create a prompt binding.
      Specified by:
        `addPropertySaveBindings` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the associated attribute of the component; ex value, check, must not null
        `s1` - save expression, nullable
        `strings` - save before these commands, the command here is not a EL expression. nullable
        `strings1` - save after these commands, the command here is not a EL expression. nullable
        `map` - args key-value pairs for this binding, nullable
        `s2` - the converter expression, nullable
        `map1` - args key-value pairs for converter, nullable
        `s3` - the converter expression, nullable
        `map2` - args key-value pairs for validator, nullable

    - #### addFormInitBinding

          public void addFormInitBinding​(Component component,
                                         java.lang.String s,
                                         java.lang.String s1,
                                         java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      init a component form by expression, it only execute once
      Specified by:
        `addFormInitBinding` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the form id, must not null
        `s1` - init expression, nullable
        `map` - args key-value pairs for this init, nullable

    - #### addFormLoadBindings

          public void addFormLoadBindings​(Component component,
                                          java.lang.String s,
                                          java.lang.String s1,
                                          java.lang.String[] strings,
                                          java.lang.String[] strings1,
                                          java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      Add new form-load-bindings. It create a prompt|conditional form-load-binding depends on beforeCmds and afterCmds. If both beforeCmds and afterCmds are null or empty, it create a prompt binding.
      Specified by:
        `addFormLoadBindings` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the form id, must not null
        `s1` - load expression, nullable
        `strings` - load before these commands, the command here is not a EL expression. nullable
        `strings1` - load after these commands, the command here is not a EL expression. nullable
        `map` - args key-value pairs for this binding, nullable

    - #### addFormSaveBindings

          public void addFormSaveBindings​(Component component,
                                          java.lang.String s,
                                          java.lang.String s1,
                                          java.lang.String[] strings,
                                          java.lang.String[] strings1,
                                          java.util.Map<java.lang.String,​java.lang.Object> map,
                                          java.lang.String s2,
                                          java.util.Map<java.lang.String,​java.lang.Object> map1)

      Description copied from interface: `Binder`
      Add new form-save-bindings. It create a conditional form-save-binding depends on beforeCmds and afterCmds. Since form-save-binding is always triggered by command, if both beforeCmds and afterCmds are null or empty, it throws an exception.
      Specified by:
        `addFormSaveBindings` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the form id, must not null
        `s1` - save expression, nullable
        `strings` - save before these commands, the command here is not a EL expression. nullable
        `strings1` - save after these commands, the command here is not a EL expression. nullable
        `map` - args key-value pairs for this binding, nullable
        `s2` - the converter expression, nullable
        `map1` - args key-value pairs for validator, nullable

    - #### addChildrenInitBinding

          public void addChildrenInitBinding​(Component component,
                                             java.lang.String s,
                                             java.util.Map<java.lang.String,​java.lang.Object> map)

    - #### addChildrenInitBinding

          public void addChildrenInitBinding​(Component component,
                                             java.lang.String s,
                                             java.util.Map<java.lang.String,​java.lang.Object> map,
                                             java.lang.String s1,
                                             java.util.Map<java.lang.String,​java.lang.Object> map1)

      Description copied from interface: `Binder`
      init children of a component by an expression, it only execute once
      Specified by:
        `addChildrenInitBinding` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - init expression, must not null
        `map` - args key-value pairs for initial, nullable
        `s1` - the converter expression, nullable
        `map1` - args key-value pairs for converter, nullable

    - #### addChildrenLoadBindings

          public void addChildrenLoadBindings​(Component component,
                                              java.lang.String s,
                                              java.lang.String[] strings,
                                              java.lang.String[] strings1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map)

    - #### addChildrenLoadBindings

          public void addChildrenLoadBindings​(Component component,
                                              java.lang.String s,
                                              java.lang.String[] strings,
                                              java.lang.String[] strings1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map,
                                              java.lang.String s1,
                                              java.util.Map<java.lang.String,​java.lang.Object> map1)

      Description copied from interface: `Binder`
      Add new children-load-bindings. It creates a prompt|conditional children-load-binding depends on beforeCmds and afterCmds. If both beforeCmds and afterCmds are null or empty, it create a prompt binding.
      Specified by:
        `addChildrenLoadBindings` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - load expression, must not null
        `strings` - load before these commands, the command here is not a EL expression. nullable
        `strings1` - load after these commands, the command here is not a EL expression. nullable
        `map` - args key-value pairs for this binding, nullable
        `s1` - the converter expression, nullable
        `map1` - args key-value pairs for converter, nullable

    - #### addReferenceBinding

          public void addReferenceBinding​(Component component,
                                          java.lang.String s,
                                          java.lang.String s1,
                                          java.util.Map<java.lang.String,​java.lang.Object> map)

      Description copied from interface: `Binder`
      Add a new reference-binding. It creates an attribute as the reference of the expression in the component.
      Specified by:
        `addReferenceBinding` in interface `Binder`
      Parameters:
        `component` - the associated component, must not null
        `s` - the name of reference that stored in the component; ex myval, must not null
        `s1` - load expression, must not null
        `map` - args key-value pairs for this binding, nullable

    - #### removeBindings

          public void removeBindings​(Component comp)

      Description copied from interface: `Binder`
      Remove all managed bindings that associated with the specified component.
      Specified by:
        `removeBindings` in interface `Binder`

    - #### removeBindings

          public void removeBindings​(java.util.Set<Component> comps)

      Description copied from interface: `Binder`
      Remove all managed bindings that associated with the specified components.
      Specified by:
        `removeBindings` in interface `Binder`

    - #### removeBindings

          public void removeBindings​(Component component,
                                     java.lang.String s)

      Description copied from interface: `Binder`
      Remove all managed Binding that associated with the specified component and attribute name, event name, or form id.
      Specified by:
        `removeBindings` in interface `Binder`
      Parameters:
        `component` - the associated component
        `s` - the associated attribute name, event name, or form id

    - #### getConverter

          public Converter getConverter​(java.lang.String name)

      Description copied from interface: `Binder`
      Returns the _converter of the given _converter name.
      Specified by:
        `getConverter` in interface `Binder`
      Parameters:
        `name` - _converter name
      Returns:
        the _converter of the given _converter name.

    - #### getValidator

          public Validator getValidator​(java.lang.String name)

      Description copied from interface: `Binder`
      Returns the _validator of the given _validator name.
      Specified by:
        `getValidator` in interface `Binder`
      Parameters:
        `name` - _validator name
      Returns:
        the _validator of the given _validator name.

    - #### notifyChange

          public void notifyChange​(java.lang.Object base,
                                   java.lang.String attr)

      Description copied from interface: `Binder`
      Notify change of the property.
      Specified by:
        `notifyChange` in interface `Binder`
      Parameters:
        `base` - the backing bean object.
        `attr` - the property of the bean that change the value

    - #### sendCommand

          public int sendCommand​(java.lang.String command,
                                 java.util.Map<java.lang.String,​java.lang.Object> args)

      Description copied from interface: `Binder`
      send command fired to this binder and process the command immediately
      Specified by:
        `sendCommand` in interface `Binder`
      Parameters:
        `command` - command name
        `args` - , arguments when notifying this command, it will be passed as a arguments of execution method of vm
      Returns:
        the result of the doCommand, COMMAND_SUCCESS or COMMAND_FAIL_VALIDATE (since 8.0.1)

    - #### doValidate

          public boolean doValidate​(Component comp,
                                    SavePropertyBinding binding,
                                    boolean isValid)

      Specified by:
        `doValidate` in interface `ClientBinder`

    - #### doValidate

          public boolean doValidate​(Component comp,
                                    SaveFormBinding binding,
                                    boolean isValid)

      Specified by:
        `doValidate` in interface `ClientBinder`

    - #### toCollectedProperties

          protected java.util.Map<java.lang.String,​Property[]> toCollectedProperties​(Property validate)

    - #### toCollectedProperties

          protected java.util.Map<java.lang.String,​Property[]> toCollectedProperties​(java.util.Set<Property> validates)

    - #### clearValidationMessages

          protected void clearValidationMessages​(Binder binder,
                                                 Component component,
                                                 java.lang.String attr)

    - #### doExecute

          protected void doExecute​(Component comp,
                                   java.lang.String command,
                                   java.util.Map<java.lang.String,​java.lang.Object> commandArgs,
                                   BindContext ctx,
                                   java.util.Set<Property> notifys)

    - #### checkInit

          protected void checkInit()

    - #### getViewModel

          public java.lang.Object getViewModel()

      Description copied from interface: `Binder`
      Returns associated ViewModel of this binder.
      Specified by:
        `getViewModel` in interface `Binder`
      Returns:
        associated ViewModel of this binder.

    - #### setViewModel

          public void setViewModel​(java.lang.Object vm)

      Description copied from interface: `Binder`
      Sets associated ViewModel of this binder.
      Specified by:
        `setViewModel` in interface `Binder`
      Parameters:
        `vm` - the associated view model of this binder.

    - #### addFormAssociatedSaveBinding

          public void addFormAssociatedSaveBinding​(Component component,
                                                   java.lang.String s,
                                                   SaveBinding saveBinding,
                                                   java.lang.String s1)

      Description copied from interface: `BinderCtrl`
      Add a association between formId and a associated save binding(save binding inside a form), the form has to exist in the parent components
      Specified by:
        `addFormAssociatedSaveBinding` in interface `BinderCtrl`
      Parameters:
        `component` - associated component inside a form binding
        `s` - the form id
        `saveBinding` - the nested save binding in side a form binding
        `s1` - the associated form fieldName for the associated save binding

    - #### getFormAssociatedSaveBindings

          public java.util.Set<SaveBinding> getFormAssociatedSaveBindings​(Component component)

      Description copied from interface: `BinderCtrl`
      Get associated save bindings of a form in a component
      Specified by:
        `getFormAssociatedSaveBindings` in interface `BinderCtrl`
      Parameters:
        `component` - the component that contains the form
      Returns:
        all associated save binding in the form

    - #### storeForm

          public void storeForm​(Component component,
                                java.lang.String s,
                                Form form)

      Description copied from interface: `BinderCtrl`
      Store the form in the component with id
      Specified by:
        `storeForm` in interface `BinderCtrl`
      Parameters:
        `component` - the component to store the form
        `s` - the form id
        `form` - the form instance

    - #### getForm

          public Form getForm​(Component component,
                              java.lang.String s)

      Description copied from interface: `BinderCtrl`
      Get the form of the component
      Specified by:
        `getForm` in interface `BinderCtrl`
      Parameters:
        `component` - the component has the form
        `s` - the form id
      Returns:
        the form if there is a form inside the component with the id

    - #### getTracker

          public Tracker getTracker()

      Description copied from interface: `BinderCtrl`
      Returns associated dependency tracker of this binder.
      Specified by:
        `getTracker` in interface `BinderCtrl`
      Returns:
        associated dependency tracker of this binder.

    - #### getValidationMessages

          public ValidationMessages getValidationMessages()

      Description copied from interface: `BinderCtrl`
      Get the `ValidationMessages`
      Specified by:
        `getValidationMessages` in interface `BinderCtrl`
      Returns:
        null if no one set the instance by `BinderCtrl.setValidationMessages(ValidationMessages)`

    - #### setValidationMessages

          public void setValidationMessages​(ValidationMessages validationMessages)

      Description copied from interface: `BinderCtrl`
      Set the `ValidationMessages`
      Specified by:
        `setValidationMessages` in interface `BinderCtrl`
      Parameters:
        `validationMessages` - the `ValidationMessages`

    - #### hasValidator

          public boolean hasValidator​(Component component,
                                      java.lang.String s)

      Description copied from interface: `BinderCtrl`
      is there a validator on the attribute of component
      Specified by:
        `hasValidator` in interface `BinderCtrl`
      Parameters:
        `component` - the component to check
        `s` - the attribute to check
      Returns:
        true if there is a validator

    - #### getTemplateResolver

          public TemplateResolver getTemplateResolver​(Component component,
                                                      java.lang.String s)

      Description copied from interface: `BinderCtrl`
      get the template resolver that sets by `Binder.setTemplate(Component, String, String, java.util.Map)`
      Specified by:
        `getTemplateResolver` in interface `BinderCtrl`
      Parameters:
        `component` - the component has resolvers
        `s` - the attribute to get the resolver
      Returns:
        the resolver, null if not existed.

    - #### getLoadPromptBindings

          public java.util.List<Binding> getLoadPromptBindings​(Component component,
                                                               java.lang.String s)

      Description copied from interface: `BinderCtrl`
      get all load prompt binding of the component and attribute
      Specified by:
        `getLoadPromptBindings` in interface `BinderCtrl`
      Parameters:
        `component` - the component is relative to the bindings
        `s` - the attribute is relative to the bindings
      Returns:
        the prompt-load-bindings

    - #### getPhaseListener

          public PhaseListener getPhaseListener()

    - #### getPhaseListeners

          public java.util.List<PhaseListener> getPhaseListeners()

      Description copied from interface: `BinderCtrl`
      get the first `PhaseListener`
      Specified by:
        `getPhaseListeners` in interface `BinderCtrl`
      Returns:
        the `PhaseListener`

    - #### setPhaseListener

          public void setPhaseListener​(PhaseListener phaseListener)

      Description copied from interface: `Binder`
      Sets the associated phase listener to intervene the binding life cycle.
      Specified by:
        `setPhaseListener` in interface `Binder`
      Parameters:
        `phaseListener` - the associated phase listener.

    - #### addPhaseListener

          public void addPhaseListener​(PhaseListener phaseListener)

      Description copied from interface: `BinderCtrl`
      Add the `PhaseListener`
      Specified by:
        `addPhaseListener` in interface `BinderCtrl`

    - #### isActivating

          public boolean isActivating()

      Description copied from interface: `BinderCtrl`
      check if binder is in activating state
      Specified by:
        `isActivating` in interface `BinderCtrl`
      Returns:
        true if binder is currently in activating state

    - #### getBindingExecutionInfoCollector

          public BindingExecutionInfoCollector getBindingExecutionInfoCollector()

      Description copied from interface: `BinderCtrl`
      get binding execution info collector
      Specified by:
        `getBindingExecutionInfoCollector` in interface `BinderCtrl`
      Returns:
        the collector instance or null if no collector is existed

    - #### getBindingAnnotationInfoChecker

          public BindingAnnotationInfoChecker getBindingAnnotationInfoChecker()

      Description copied from interface: `BinderCtrl`
      get binding annotation info checker
      Specified by:
        `getBindingAnnotationInfoChecker` in interface `BinderCtrl`
      Returns:
        the collector instance or null if no collector is existed

    - #### getQueueName

          public java.lang.String getQueueName()

      Description copied from interface: `BinderCtrl`
      Returns the queue name of this binder
      Specified by:
        `getQueueName` in interface `BinderCtrl`

    - #### getQueueScope

          public java.lang.String getQueueScope()

      Description copied from interface: `BinderCtrl`
      Returns the queue scope of this binder
      Specified by:
        `getQueueScope` in interface `BinderCtrl`

    - #### addSaveFormFieldName

          public void addSaveFormFieldName​(Form form,
                                           java.lang.String s)

      Description copied from interface: `BinderCtrl`
      Adds a field name for saving with the given Form.
      Specified by:
        `addSaveFormFieldName` in interface `BinderCtrl`
        `s` - field name to be saved into.

    - #### addSaveFormFieldName

          public void addSaveFormFieldName​(Form form,
                                           java.util.Set<java.lang.String> set)

      Description copied from interface: `BinderCtrl`
      Adds all field names for saving with the given Form.
      Specified by:
        `addSaveFormFieldName` in interface `BinderCtrl`
        `set` - field name to be saved into.

    - #### getSaveFormFieldNames

          public java.util.Set<java.lang.String> getSaveFormFieldNames​(Form form)

      Description copied from interface: `BinderCtrl`
      Returns all field names for saving with the given Form.
      Specified by:
        `getSaveFormFieldNames` in interface `BinderCtrl`

    - #### removeSaveFormFieldNames

          public java.util.Set<java.lang.String> removeSaveFormFieldNames​(Form form)

      Description copied from interface: `BinderCtrl`
      Remove all field names for saving with the given Form.
      Specified by:
        `removeSaveFormFieldNames` in interface `BinderCtrl`

    - #### getMatchMediaValue

          public java.util.Map<java.lang.String,​java.lang.reflect.Method> getMatchMediaValue()

      Description copied from interface: `BinderCtrl`
      Returns an unmodifiable Map containing all the MatchMedia annotation values of this binder. If there's no MatchMedia annotation, it returns an empty Map.
      Specified by:
        `getMatchMediaValue` in interface `BinderCtrl`

    - #### initQueue

          public void initQueue()

      Internal use only. Check and init queue
      Specified by:
        `initQueue` in interface `BinderCtrl`

    - #### unbindQueue

          public void unbindQueue()

    - #### initActivator

          public void initActivator()

      Description copied from interface: `BinderCtrl`
      Internal use only. Check and init Activator
      Specified by:
        `initActivator` in interface `BinderCtrl`

    - #### getEventQueue

          public EventQueue<Event> getEventQueue()

      Specified by:
        `getEventQueue` in interface `ClientBinder`

    - #### getView

          public Component getView()

      Description copied from interface: `Binder`
      Returns associated root component of this binder.
      Specified by:
        `getView` in interface `Binder`
      Returns:
        associated root component of this binder.