GWT:DefaultHistorian vs Mapper对象?

时间:2012-10-22 15:51:36

标签: java gwt

PlaceHistoryHandler#DefaultHistorian的GWT JavaDocs模糊且循环:

  

PlaceHistoryHandler.DefaultHistorian的默认实现。

这并没有真正告诉我们它是什么,或它做了什么!

然后我们有PlaceHistoryMapperActivityMapper个对象。我的理解PlaceHistoryMapper的工作是将网址标记映射到Place,而ActivityMapperPlace映射到Actvitity 1}}实现。

所以我问:如果这两个Mappers负责将URL令牌绑定到特定的Activity,那么DefaultHistorian在所有这些中扮演什么角色?

1 个答案:

答案 0 :(得分:1)

Javadoc在阅读时很容易纠正:DefaultHistorianHistorian的默认实现。

要了解它们如何一起玩,首先必须了解地方可以在没有历史的情况下工作,也没有活动。

因此,在中心位置地方PlaceController保留当前PlacegetWhere),可由goTo修改并广播将事件更改为EventBus。听众可以要求用户确认(PlaceChangeRequestEvent的{​​{1}})到Delegate(其默认实施使用setMessage)。

建立在Window.confirmPlaceRequestChangeEvent之上的是活动。您可以有几个PlaceChangeEvent个,每个ActivityManager显示区域,每个显示相同的给定/当前位置的不同活动。

另一方面,基于ActivityMapper,上述事件是历史goTo听取双方的事件,更新历史记录(通过PlaceHistoryHandler)或更新地点(通过Historian的{​​{1}} )。两个世界之间的PlaceController地图。 goToPlaceHistoryMapper)的默认实施使用HistorianDefaultHistorian。例如,您可以提供uses HTML5's pushState and onpopstate自己的实现。

请参阅: