Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
0f434883
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0f434883
编写于
7月 27, 2009
作者:
K
Keith Donald
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
binding lifecycle per design review
上级
cd9f0bc1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
58 addition
and
0 deletion
+58
-0
org.springframework.context/src/main/java/org/springframework/model/ui/config/BindingLifecycle.java
...org/springframework/model/ui/config/BindingLifecycle.java
+58
-0
未找到文件。
org.springframework.context/src/main/java/org/springframework/model/ui/config/Bind
erExecutor
.java
→
org.springframework.context/src/main/java/org/springframework/model/ui/config/Bind
ingLifecycle
.java
浏览文件 @
0f434883
...
...
@@ -15,48 +15,44 @@
*/
package
org.springframework.model.ui.config
;
import
org.springframework.model.binder.Binder
;
import
org.springframework.model.binder.BindingResults
;
/**
* A SPI interface that lets you configure a
{@link Binder}
, then execute it.
* Hides details about the source of
binder
field values.
* A SPI interface that lets you configure a
BindingLifecycle for a model
, then execute it.
* Hides details about the source of
submitted
field values.
* @author Keith Donald
* @since 3.0
* @param <M> the type of model t
o bind to
* @param <M> the type of model t
his lifecycle is for
*/
public
interface
Bind
erExecutor
<
M
>
{
public
interface
Bind
ingLifecycle
<
M
>
{
/**
* Configure the model object to bind to.
* Optional operation.
* If not called, the model be a new instance of <M> created by invoking it's default constructor.
* @param model the model
*/
void
setModel
(
M
model
);
/**
* Configure a bindable field.
* @param fieldPath the field path, typically a domain object property path on the model object in format <prop>[.nestedProp]
* @return a builder for the field model configuration
*/
FieldModelConfiguration
field
(
String
fieldPath
);
// TODO allow injection of pre-created BindingRules
/**
* Execute the bind operation.
* @return the binding results
* Execute this binding lifecycle.
* The steps are:
* <ul>
* <li>Get a PresentationModel for model M.</li>
* <li>Bind submitted values to the PresentationModel</li>
* <li>Validate the PresentationModel</li>.
* <li>Commit changes to M if no bind and validation errors occur.</li>
* </ul>
* @throws IllegalStateExeption if no model was set and no default constructor was found on M.
*/
BindingResults
bind
();
void
execute
();
// TODO return validation results
/**
*
Execute the validate operation
.
*
If executing the lifecycle produced errors
.
*/
void
validate
();
boolean
hasErrors
();
/**
*
The model that was bound to
.
*
Get the model instance this lifecycle executed against
.
*/
M
getModel
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录