Interface FormItem.StateCustomizer
- Enclosing class:
- FormItem
-
Method Summary
Modifier and TypeMethodDescriptiongetCustomState
(FormItemElementType elementType, String derivedState, FormItem formItem) Implement this method to retrieve a custom state suffix to append to the style name that is applied to some element of a formItem.
-
Method Details
-
getCustomState
Implement this method to retrieve a custom state suffix to append to the style name that is applied to some element of a formItem. SeeFormItemBaseStyle
for more information on how state-based FormItem style names are derived.If a FormItem has a
StateCustomizer
, the framework will call itsgetCustomState()
method, passing in the state suffix it has derived. Your getCustomState() implementation can make use of this derived state or ignore it. For example, if you wanted two different types of focus styling depending on some factor unrelated to focus, you would probably make use of the incoming "Focused" state and return something like "Focused1" or "Focused2". On the other hand, if you want your custom state to just override whatever the system derived, you would ignore the incoming state. Finally, if you do not wish to provide a custom style for this formItem element at this time - for example, you are only interested in providing a custom "textBox" style and this call is for a "cell" element type - your getCustomStyle() method should just return the state it was passed.StateCustomizers are advanced usage, and you should only use them if you have specialized styling requirements. If you do use a StateCustomizer, note that its getCustomState() method will be called very frequently, from rendering code: if your custom logic does significant processing, it could introduce a system-wide performance problem.
- Parameters:
elementType
- The element type to return a custom state forderivedState
- The state suffix the system derivedformItem
- The FormItem we are deriving state for- Returns:
- custom state suffix to use for the parameter elementType for this formItem
-