Package org.zkoss.bind

## Class DefaultBinder

- java.lang.Object
- - org.zkoss.bind.impl.BinderImpl
  - - org.zkoss.bind.DefaultBinder

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

      public class DefaultBinder
      extends BinderImpl

  ZK default Binder, use this class if you want to new a binder and control components though `Binder` API.
  After new a instance, you have to call `init(Component, Object, Map)` first, then call `BinderImpl.addCommandBinding(Component, String, String, java.util.Map)`, `BinderImpl.addPropertyLoadBindings(Component, String, String, String[], String[], java.util.Map, String, java.util.Map)` ...etc to assign the binding.
  After all the add binding done, you have to call `BinderImpl.loadComponent(Component, boolean)` to trigger first loading of the binding.
  Since:
    6.0.0
  Author:
    dennischen
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.zkoss.bind.impl.BinderImpl

      `DISABLE_METHOD_CACHE, ZKFORMPROXYNOTIFIEDKEY`

    - ### 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

      `ACTIVATOR, 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
    --- | ---
    `DefaultBinder()` | new a binder with default event queue name and scope
    `DefaultBinder​(java.lang.String qname, java.lang.String qscope)` | new a binder with event queue name and scope

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `init​(Component comp, java.lang.Object vm, java.util.Map<java.lang.String,​java.lang.Object> initArgs)` | Initializes the binder with a root component and viewModel object.

    - ### Methods inherited from class org.zkoss.bind.impl.BinderImpl

      `addChildrenInitBinding, addChildrenLoadBindings, addCommandBinding, addFormAssociatedSaveBinding, addFormInitBinding, addFormLoadBindings, addFormSaveBindings, addGlobalCommandBinding, addPhaseListener, addPropertyInitBinding, addPropertyLoadBindings, addPropertySaveBindings, addReferenceBinding, addSaveFormFieldName, addSaveFormFieldName, checkInit, createParamCall, destroy, doExecute, doLoadAfter, doLoadBefore, doSaveAfter, doSaveBefore, doValidate, fireNotifyChanges, getBindingAnnotationInfoChecker, getBindingExecutionInfoCollector, getBindings, getConverter, getDynamicAttrs, getEvaluatorX, getEventQueue, getForm, getFormAssociatedSaveBindings, getLoadPromptBindings, getMatchMediaValue, getPhaseListener, getPhaseListeners, getQueueName, getQueueScope, getRenderer, getSaveFormFieldNames, getTemplateResolver, getTracker, getValidationMessages, getValidator, getView, getViewModel, hasValidator, initActivator, initQueue, isActivating, loadComponent, loadComponent0, newCommandBinding, newInitChildrenBinding, newInitFormBinding, newInitPropertyBinding, newLoadChildrenBinding, newLoadFormBinding, newLoadPropertyBinding, newSaveFormBinding, newSavePropertyBinding, notifyChange, postCommand, removeBindings, removeBindings, removeBindings, removeSaveFormFieldNames, sendCommand, setDynamicAttrs, setPhaseListener, setTemplate, setValidationMessages, setViewModel, storeForm`

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

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

- - ### Constructor Detail

    - #### DefaultBinder

          public DefaultBinder()

      new a binder with default event queue name and scope

    - #### DefaultBinder

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

      new a binder with event queue name and scope
      Parameters:
        `qname` - event queue name
        `qscope` - event queue scope, see `EventQueues`

  - ### Method Detail

    - #### init

          public void init​(Component comp,
                           java.lang.Object vm,
                           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`
      Overrides:
        `init` in class `BinderImpl`
      Parameters:
        `comp` - root component of binder
        `vm` - viewModel object
        `initArgs` - args key-value pairs for initial, nullable