Class DefaultClientBinder

    • 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
      • 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)
      • 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)
      • 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.
      • 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
      • 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
      • 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.
      • 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
      • 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
      • 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.