Package org.zkoss.bind.impl
Class BinderImpl
- java.lang.Object
-
- org.zkoss.bind.impl.BinderImpl
-
- All Implemented Interfaces:
java.io.Serializable
,Binder
,BinderCtrl
- Direct Known Subclasses:
AnnotateBinder
,DefaultBinder
public class BinderImpl extends java.lang.Object implements Binder, BinderCtrl, java.io.Serializable
Implementation of Binder.- Since:
- 6.0.0
- Author:
- henrichen, dennischen
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
DISABLE_METHOD_CACHE
static java.lang.String
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 BinderImpl()
BinderImpl(java.lang.String qname, java.lang.String qscope)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChildrenInitBinding(Component comp, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
init children of a component by an expression, it only execute oncevoid
addChildrenLoadBindings(Component comp, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Add new children-load-bindings.void
addCommandBinding(Component comp, java.lang.String evtnm, java.lang.String commandExpr, java.util.Map<java.lang.String,java.lang.Object> args)
Add a new command binding.void
addFormAssociatedSaveBinding(Component associatedComp, java.lang.String formId, SaveBinding saveBinding, java.lang.String fieldName)
Add a association between formId and a associated save binding(save binding inside a form), the form has to exist in the parent componentsvoid
addFormInitBinding(Component comp, java.lang.String id, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs)
init a component form by expression, it only execute oncevoid
addFormLoadBindings(Component comp, java.lang.String id, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Add new form-load-bindings.void
addFormSaveBindings(Component comp, java.lang.String id, java.lang.String saveExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Add new form-save-bindings.void
addGlobalCommandBinding(Component comp, java.lang.String evtnm, java.lang.String commandExpr, java.util.Map<java.lang.String,java.lang.Object> args)
Add a new global-command binding.void
addPhaseListener(PhaseListener listener)
Add thePhaseListener
void
addPropertyInitBinding(Component comp, java.lang.String attr, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
init a component property by a expression, it only execute oncevoid
addPropertyLoadBindings(Component comp, java.lang.String attr, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Add new property-load-bindings.void
addPropertySaveBindings(Component comp, java.lang.String attr, java.lang.String saveExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Add new property-save-bindings.void
addReferenceBinding(Component comp, java.lang.String attr, java.lang.String loadExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Add a new reference-binding.void
addSaveFormFieldName(Form form, java.lang.String fieldName)
Adds a field name for saving with the given Form.void
addSaveFormFieldName(Form form, java.util.Set<java.lang.String> fieldNames)
Adds all field names for saving with the given Form.protected void
checkInit()
protected ParamCall
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)
protected void
doLoadAfter(Component comp, java.lang.String command, BindContext ctx)
protected void
doLoadBefore(Component comp, java.lang.String command, BindContext ctx)
protected void
doSaveAfter(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
protected void
doSaveBefore(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
protected boolean
doValidate(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
protected void
fireNotifyChanges(java.util.Set<Property> notifys)
BindingAnnotationInfoChecker
getBindingAnnotationInfoChecker()
get binding annotation info checkerBindingExecutionInfoCollector
getBindingExecutionInfoCollector()
get binding execution info collectorjava.util.Map<java.lang.String,java.util.List<Binding>>
getBindings(Component comp)
Converter
getConverter(java.lang.String name)
Returns the _converter of the given _converter name.java.util.Map<java.lang.String,java.lang.Object>
getDynamicAttrs()
Internal use only.BindEvaluatorX
getEvaluatorX()
Returns theBindEvaluatorX
used by this Binder.protected EventQueue<Event>
getEventQueue()
Form
getForm(Component comp, java.lang.String id)
Get the form of the componentjava.util.Set<SaveBinding>
getFormAssociatedSaveBindings(Component comp)
Get associated save bindings of a form in a componentjava.util.List<Binding>
getLoadPromptBindings(Component comp, java.lang.String attr)
get all load prompt binding of the component and attributejava.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 firstPhaseListener
java.lang.String
getQueueName()
Returns the queue name of this binderjava.lang.String
getQueueScope()
Returns the queue scope of this binderprotected java.lang.Object
getRenderer(java.lang.String name)
java.util.Set<java.lang.String>
getSaveFormFieldNames(Form form)
Returns all field names for saving with the given Form.TemplateResolver
getTemplateResolver(Component comp, java.lang.String attr)
get the template resolver that sets byBinder.setTemplate(Component, String, String, java.util.Map)
Tracker
getTracker()
Returns associated dependency tracker of this binder.ValidationMessages
getValidationMessages()
Get theValidationMessages
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 comp, java.lang.String attr)
is there a validator on the attribute of componentvoid
init(Component comp, 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 statevoid
loadComponent(Component comp, boolean loadinit)
Internal Use only. init and load the componentprotected void
loadComponent0(Component comp, boolean loadinit)
protected CommandBinding
newCommandBinding(Component comp, java.lang.String evtnm, java.lang.String cmdScript, java.util.Map<java.lang.String,java.lang.Object> args)
Make this extenable.protected InitChildrenBinding
newInitChildrenBinding(Component comp, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.protected InitFormBinding
newInitFormBinding(Component comp, java.lang.String formId, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Make this extenable.protected InitPropertyBinding
newInitPropertyBinding(Component comp, java.lang.String attr, java.lang.String loadAttr, java.lang.Class<?> attrType, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.protected LoadChildrenBinding
newLoadChildrenBinding(Component comp, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.protected LoadFormBinding
newLoadFormBinding(Component comp, java.lang.String formId, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Make this extenable.protected LoadPropertyBinding
newLoadPropertyBinding(Component comp, java.lang.String attr, java.lang.String loadAttr, java.lang.Class<?> attrType, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.protected SaveFormBinding
newSaveFormBinding(Component comp, java.lang.String formId, java.lang.String saveExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Make this extenable.protected SavePropertyBinding
newSavePropertyBinding(Component comp, java.lang.String attr, java.lang.String saveAttr, java.lang.String saveExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Make this extenable.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 bindings that associated with the specified component.void
removeBindings(Component comp, java.lang.String key)
Remove all bindings that associated with the specified component and key (_fieldExpr|evtnm|formid).java.util.Set<java.lang.String>
removeSaveFormFieldNames(Form self)
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 immediatelyvoid
setDynamicAttrs(java.lang.String command, java.lang.Object value)
Internal use only.void
setPhaseListener(PhaseListener listener)
Sets the associated phase listener to intervene the binding life cycle.void
setTemplate(Component comp, java.lang.String attr, java.lang.String templateExpr, java.util.Map<java.lang.String,java.lang.Object> templateArgs)
set template to a component property by an expressionvoid
setValidationMessages(ValidationMessages messages)
Set theValidationMessages
void
setViewModel(java.lang.Object vm)
Sets associated ViewModel of this binder.void
storeForm(Component comp, java.lang.String id, Form form)
Store the form in the component with id
-
-
-
Field Detail
-
DISABLE_METHOD_CACHE
public static final boolean DISABLE_METHOD_CACHE
-
ZKFORMPROXYNOTIFIEDKEY
public static final java.lang.String ZKFORMPROXYNOTIFIEDKEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(Component comp, 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 useAnnotateBinder
and zk annotation
-
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 useAnnotateBinder
and zk annotation
-
checkInit
protected void checkInit()
-
getBindings
public java.util.Map<java.lang.String,java.util.List<Binding>> getBindings(Component comp)
-
setViewModel
public void setViewModel(java.lang.Object vm)
Description copied from interface:Binder
Sets associated ViewModel of this binder.- Specified by:
setViewModel
in interfaceBinder
- Parameters:
vm
- the associated view model of this binder.
-
getViewModel
public java.lang.Object getViewModel()
Description copied from interface:Binder
Returns associated ViewModel of this binder.- Specified by:
getViewModel
in interfaceBinder
- Returns:
- associated ViewModel of this binder.
-
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 interfaceBinder
- 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 interfaceBinder
- Parameters:
name
- _validator name- Returns:
- the _validator of the given _validator name.
-
getRenderer
protected java.lang.Object getRenderer(java.lang.String name)
-
getEvaluatorX
public BindEvaluatorX getEvaluatorX()
Description copied from interface:Binder
Returns theBindEvaluatorX
used by this Binder.- Specified by:
getEvaluatorX
in interfaceBinder
- Returns:
- the EvaluatorX.
-
storeForm
public void storeForm(Component comp, java.lang.String id, Form form)
Description copied from interface:BinderCtrl
Store the form in the component with id- Specified by:
storeForm
in interfaceBinderCtrl
- Parameters:
comp
- the component to store the formid
- the form idform
- the form instance
-
getForm
public Form getForm(Component comp, java.lang.String id)
Description copied from interface:BinderCtrl
Get the form of the component- Specified by:
getForm
in interfaceBinderCtrl
- Parameters:
comp
- the component has the formid
- the form id- Returns:
- the form if there is a form inside the component with the id
-
addFormInitBinding
public void addFormInitBinding(Component comp, java.lang.String id, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs)
Description copied from interface:Binder
init a component form by expression, it only execute once- Specified by:
addFormInitBinding
in interfaceBinder
- Parameters:
comp
- the associated component, must not nullid
- the form id, must not nullinitExpr
- init expression, nullableinitArgs
- args key-value pairs for this init, nullable
-
addFormLoadBindings
public void addFormLoadBindings(Component comp, java.lang.String id, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullid
- the form id, must not nullloadExpr
- load expression, nullablebeforeCmds
- load before these commands, the command here is not a EL expression. nullableafterCmds
- load after these commands, the command here is not a EL expression. nullablebindingArgs
- args key-value pairs for this binding, nullable
-
addFormSaveBindings
public void addFormSaveBindings(Component comp, java.lang.String id, java.lang.String saveExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullid
- the form id, must not nullsaveExpr
- save expression, nullablebeforeCmds
- save before these commands, the command here is not a EL expression. nullableafterCmds
- save after these commands, the command here is not a EL expression. nullablebindingArgs
- args key-value pairs for this binding, nullablevalidatorExpr
- the converter expression, nullablevalidatorArgs
- args key-value pairs for validator, nullable
-
addPropertyInitBinding
public void addPropertyInitBinding(Component comp, java.lang.String attr, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Description copied from interface:Binder
init a component property by a expression, it only execute once- Specified by:
addPropertyInitBinding
in interfaceBinder
- Parameters:
comp
- the associated component, must not nullattr
- the associated attribute of the component; ex label, style, must not nullinitExpr
- init expression, must not nullinitArgs
- args key-value pairs for initial, nullableconverterExpr
- the converter expression, nullableconverterArgs
- args key-value pairs for converter, nullable
-
addPropertyLoadBindings
public void addPropertyLoadBindings(Component comp, java.lang.String attr, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullattr
- the associated attribute of the component; ex label, style, must not nullloadExpr
- load expression, must not nullbeforeCmds
- load before these commands, the command here is not a EL expression. nullableafterCmds
- load after these commands, the command here is not a EL expression. nullablebindingArgs
- args key-value pairs for this binding, nullableconverterExpr
- the converter expression, nullableconverterArgs
- args key-value pairs for converter, nullable
-
addPropertySaveBindings
public void addPropertySaveBindings(Component comp, java.lang.String attr, java.lang.String saveExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullattr
- the associated attribute of the component; ex value, check, must not nullsaveExpr
- save expression, nullablebeforeCmds
- save before these commands, the command here is not a EL expression. nullableafterCmds
- save after these commands, the command here is not a EL expression. nullablebindingArgs
- args key-value pairs for this binding, nullableconverterExpr
- the converter expression, nullableconverterArgs
- args key-value pairs for converter, nullablevalidatorExpr
- the converter expression, nullablevalidatorArgs
- args key-value pairs for validator, nullable
-
newLoadPropertyBinding
protected LoadPropertyBinding newLoadPropertyBinding(Component comp, java.lang.String attr, java.lang.String loadAttr, java.lang.Class<?> attrType, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.- Since:
- 7.0.3
-
newSavePropertyBinding
protected SavePropertyBinding newSavePropertyBinding(Component comp, java.lang.String attr, java.lang.String saveAttr, java.lang.String saveExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Make this extenable.- Since:
- 7.0.3
-
newInitPropertyBinding
protected InitPropertyBinding newInitPropertyBinding(Component comp, java.lang.String attr, java.lang.String loadAttr, java.lang.Class<?> attrType, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.- Since:
- 7.0.3
-
newInitChildrenBinding
protected InitChildrenBinding newInitChildrenBinding(Component comp, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.- Since:
- 7.0.3
-
newLoadChildrenBinding
protected LoadChildrenBinding newLoadChildrenBinding(Component comp, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Make this extenable.- Since:
- 7.0.3
-
newCommandBinding
protected CommandBinding newCommandBinding(Component comp, java.lang.String evtnm, java.lang.String cmdScript, java.util.Map<java.lang.String,java.lang.Object> args)
Make this extenable.- Since:
- 7.0.3
-
newInitFormBinding
protected InitFormBinding newInitFormBinding(Component comp, java.lang.String formId, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Make this extenable.- Since:
- 7.0.3
-
newLoadFormBinding
protected LoadFormBinding newLoadFormBinding(Component comp, java.lang.String formId, java.lang.String loadExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
Make this extenable.- Since:
- 7.0.3
-
newSaveFormBinding
protected SaveFormBinding newSaveFormBinding(Component comp, java.lang.String formId, java.lang.String saveExpr, ConditionType conditionType, java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String validatorExpr, java.util.Map<java.lang.String,java.lang.Object> validatorArgs)
Make this extenable.- Since:
- 7.0.3
-
addChildrenInitBinding
public void addChildrenInitBinding(Component comp, java.lang.String initExpr, java.util.Map<java.lang.String,java.lang.Object> initArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
Description copied from interface:Binder
init children of a component by an expression, it only execute once- Specified by:
addChildrenInitBinding
in interfaceBinder
- Parameters:
comp
- the associated component, must not nullinitExpr
- init expression, must not nullinitArgs
- args key-value pairs for initial, nullableconverterExpr
- the converter expression, nullableconverterArgs
- args key-value pairs for converter, nullable
-
addChildrenLoadBindings
public void addChildrenLoadBindings(Component comp, java.lang.String loadExpr, java.lang.String[] beforeCmds, java.lang.String[] afterCmds, java.util.Map<java.lang.String,java.lang.Object> bindingArgs, java.lang.String converterExpr, java.util.Map<java.lang.String,java.lang.Object> converterArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullloadExpr
- load expression, must not nullbeforeCmds
- load before these commands, the command here is not a EL expression. nullableafterCmds
- load after these commands, the command here is not a EL expression. nullablebindingArgs
- args key-value pairs for this binding, nullableconverterExpr
- the converter expression, nullableconverterArgs
- args key-value pairs for converter, nullable
-
addReferenceBinding
public void addReferenceBinding(Component comp, java.lang.String attr, java.lang.String loadExpr, java.util.Map<java.lang.String,java.lang.Object> bindingArgs)
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 interfaceBinder
- Parameters:
comp
- the associated component, must not nullattr
- the name of reference that stored in the component; ex myval, must not nullloadExpr
- load expression, must not nullbindingArgs
- args key-value pairs for this binding, nullable
-
addCommandBinding
public void addCommandBinding(Component comp, java.lang.String evtnm, java.lang.String commandExpr, java.util.Map<java.lang.String,java.lang.Object> args)
Description copied from interface:Binder
Add a new command binding.- Specified by:
addCommandBinding
in interfaceBinder
- Parameters:
comp
- the associated componentevtnm
- the associated component event namecommandExpr
- the command expressionargs
- other key-value pairs pairs for command
-
addGlobalCommandBinding
public void addGlobalCommandBinding(Component comp, java.lang.String evtnm, java.lang.String commandExpr, java.util.Map<java.lang.String,java.lang.Object> args)
Description copied from interface:Binder
Add a new global-command binding.- Specified by:
addGlobalCommandBinding
in interfaceBinder
- Parameters:
comp
- the associated componentevtnm
- the associated component event namecommandExpr
- the command expressionargs
- other key-value pairs pairs for command
-
isActivating
public boolean isActivating()
Description copied from interface:BinderCtrl
check if binder is in activating state- Specified by:
isActivating
in interfaceBinderCtrl
- Returns:
- true if binder is currently in activating state
- Since:
- 6.0.1
-
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 interfaceBinder
- Parameters:
command
- command nameargs
- , 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)
-
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 interfaceBinder
- Parameters:
command
- command nameargs
- , arguments when notifying this command, it will be passed as a arguments of execution method of vm
-
doValidate
protected boolean doValidate(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
-
createParamCall
protected ParamCall createParamCall(BindContext ctx)
-
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)
-
doSaveBefore
protected void doSaveBefore(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
-
doSaveAfter
protected void doSaveAfter(Component comp, java.lang.String command, Event evt, BindContext ctx, java.util.Set<Property> notifys)
-
doLoadBefore
protected void doLoadBefore(Component comp, java.lang.String command, BindContext ctx)
-
doLoadAfter
protected void doLoadAfter(Component comp, java.lang.String command, BindContext ctx)
-
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 interfaceBinder
-
removeBindings
public void removeBindings(Component comp)
Remove all bindings that associated with the specified component.- Specified by:
removeBindings
in interfaceBinder
- Parameters:
comp
- the component
-
removeBindings
public void removeBindings(Component comp, java.lang.String key)
Remove all bindings that associated with the specified component and key (_fieldExpr|evtnm|formid).- Specified by:
removeBindings
in interfaceBinder
- Parameters:
comp
- the componentkey
- can be component attribute, event name, or form id
-
getLoadPromptBindings
public java.util.List<Binding> getLoadPromptBindings(Component comp, java.lang.String attr)
Description copied from interface:BinderCtrl
get all load prompt binding of the component and attribute- Specified by:
getLoadPromptBindings
in interfaceBinderCtrl
- Parameters:
comp
- the component is relative to the bindingsattr
- the attribute is relative to the bindings- Returns:
- the prompt-load-bindings
-
setTemplate
public void setTemplate(Component comp, java.lang.String attr, java.lang.String templateExpr, java.util.Map<java.lang.String,java.lang.Object> templateArgs)
Description copied from interface:Binder
set template to a component property by an expression- Specified by:
setTemplate
in interfaceBinder
- Parameters:
comp
- the associated component, must not nullattr
- the associated attribute of the component; ex label, style, must not nulltemplateExpr
- template expression, must not nulltemplateArgs
- args key-value pairs for template, nullable
-
getTemplateResolver
public TemplateResolver getTemplateResolver(Component comp, java.lang.String attr)
Description copied from interface:BinderCtrl
get the template resolver that sets byBinder.setTemplate(Component, String, String, java.util.Map)
- Specified by:
getTemplateResolver
in interfaceBinderCtrl
- Parameters:
comp
- the component has resolversattr
- the attribute to get the resolver- Returns:
- the resolver, null if not existed.
-
getTracker
public Tracker getTracker()
Description copied from interface:BinderCtrl
Returns associated dependency tracker of this binder.- Specified by:
getTracker
in interfaceBinderCtrl
- Returns:
- associated dependency tracker of this binder.
-
loadComponent
public void loadComponent(Component comp, boolean loadinit)
Internal Use only. init and load the component- Specified by:
loadComponent
in interfaceBinder
- Parameters:
comp
- the component to reloadloadinit
- true if should also load the init-binding
-
getDynamicAttrs
public java.util.Map<java.lang.String,java.lang.Object> getDynamicAttrs()
Internal use only.- Since:
- 8.0.0
-
setDynamicAttrs
public void setDynamicAttrs(java.lang.String command, java.lang.Object value)
Internal use only.- Since:
- 8.0.0
-
loadComponent0
protected void loadComponent0(Component comp, boolean loadinit)
-
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 interfaceBinder
- Parameters:
base
- the backing bean object.attr
- the property of the bean that change the value
-
setPhaseListener
public void setPhaseListener(PhaseListener listener)
Description copied from interface:Binder
Sets the associated phase listener to intervene the binding life cycle.- Specified by:
setPhaseListener
in interfaceBinder
- Parameters:
listener
- the associated phase listener.
-
addPhaseListener
public void addPhaseListener(PhaseListener listener)
Description copied from interface:BinderCtrl
Add thePhaseListener
- Specified by:
addPhaseListener
in interfaceBinderCtrl
-
getPhaseListener
public PhaseListener getPhaseListener()
-
getPhaseListeners
public java.util.List<PhaseListener> getPhaseListeners()
Description copied from interface:BinderCtrl
get the firstPhaseListener
- Specified by:
getPhaseListeners
in interfaceBinderCtrl
- Returns:
- the
PhaseListener
-
getEventQueue
protected EventQueue<Event> getEventQueue()
-
addFormAssociatedSaveBinding
public void addFormAssociatedSaveBinding(Component associatedComp, java.lang.String formId, SaveBinding saveBinding, java.lang.String fieldName)
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 interfaceBinderCtrl
- Parameters:
associatedComp
- associated component inside a form bindingformId
- the form idsaveBinding
- the nested save binding in side a form bindingfieldName
- the associated form fieldName for the associated save binding
-
getFormAssociatedSaveBindings
public java.util.Set<SaveBinding> getFormAssociatedSaveBindings(Component comp)
Description copied from interface:BinderCtrl
Get associated save bindings of a form in a component- Specified by:
getFormAssociatedSaveBindings
in interfaceBinderCtrl
- Parameters:
comp
- the component that contains the form- Returns:
- all associated save binding in the form
-
hasValidator
public boolean hasValidator(Component comp, java.lang.String attr)
Description copied from interface:BinderCtrl
is there a validator on the attribute of component- Specified by:
hasValidator
in interfaceBinderCtrl
- Parameters:
comp
- the component to checkattr
- the attribute to check- Returns:
- true if there is a validator
-
getView
public Component getView()
Description copied from interface:Binder
Returns associated root component of this binder.
-
getValidationMessages
public ValidationMessages getValidationMessages()
Description copied from interface:BinderCtrl
Get theValidationMessages
- Specified by:
getValidationMessages
in interfaceBinderCtrl
- Returns:
- null if no one set the instance by
BinderCtrl.setValidationMessages(ValidationMessages)
-
setValidationMessages
public void setValidationMessages(ValidationMessages messages)
Description copied from interface:BinderCtrl
Set theValidationMessages
- Specified by:
setValidationMessages
in interfaceBinderCtrl
- Parameters:
messages
- theValidationMessages
-
getBindingExecutionInfoCollector
public BindingExecutionInfoCollector getBindingExecutionInfoCollector()
Description copied from interface:BinderCtrl
get binding execution info collector- Specified by:
getBindingExecutionInfoCollector
in interfaceBinderCtrl
- 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 interfaceBinderCtrl
- 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 interfaceBinderCtrl
-
getQueueScope
public java.lang.String getQueueScope()
Description copied from interface:BinderCtrl
Returns the queue scope of this binder- Specified by:
getQueueScope
in interfaceBinderCtrl
-
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 interfaceBinderCtrl
-
addSaveFormFieldName
public void addSaveFormFieldName(Form form, java.lang.String fieldName)
Description copied from interface:BinderCtrl
Adds a field name for saving with the given Form.- Specified by:
addSaveFormFieldName
in interfaceBinderCtrl
fieldName
- field name to be saved into.
-
addSaveFormFieldName
public void addSaveFormFieldName(Form form, java.util.Set<java.lang.String> fieldNames)
Description copied from interface:BinderCtrl
Adds all field names for saving with the given Form.- Specified by:
addSaveFormFieldName
in interfaceBinderCtrl
fieldNames
- field name to be saved into.
-
removeSaveFormFieldNames
public java.util.Set<java.lang.String> removeSaveFormFieldNames(Form self)
Description copied from interface:BinderCtrl
Remove all field names for saving with the given Form.- Specified by:
removeSaveFormFieldNames
in interfaceBinderCtrl
-
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 interfaceBinderCtrl
-
initQueue
public void initQueue()
Internal use only. Check and init queue- Specified by:
initQueue
in interfaceBinderCtrl
-
initActivator
public void initActivator()
Internal use only. Check and init Activator- Specified by:
initActivator
in interfaceBinderCtrl
-
-