私の小さな GWT アプリには、次の「ブックマーク可能な」すべてのPlace
s が必要です。
http://www.mywebapp.com --> "home page"
http://www.mywebapp.com/login --> login screen
http://www.mywebapp.com/main --> main menu, after logged in
http://www.mywebapp.com/start --> start of a transactional process
http://www.mywebapp.com/complete --> end of transactional process (receipt)
そこで、先に進んで 5 つPlace
のサブクラスを作成しました。これらはすべて次の形式を取ります。
public class LoginPlace extends Place {
// Intentionally left void because I'm not sure
// what to implement here...
}
対応するトークナイザーがあります。
public class LoginPlaceTokenizer extends PlaceTokenizer<LoginPlace> {
@Override
public LoginPlace getPlace(String token) {
// ???
}
@Override
public String getToken(LoginPlace place) {
// ???
}
}
アプリに を実装しようとしてPlaceHistoryMapper
います:
@WithTokenizers({
HomePlaceTokenizer.class,
LoginPlaceTokenizer.class,
MainMenuPlaceTokenizer.class
// etc.
})
public class MyWebAppPlaceHistoryMapper implements PlaceHistoryMapper {
@Override
public Place getPlace(String token) {
// ???
}
@Override
public String getToken(Place place) {
// ???
}
}
サブクラスとサブクラスのコンパニオンgetPlace
/getToken
メソッドは同じことをしているようです。彼らは?もしそうなら、私はそれらの両方で同じコードを使用するだけですか? それらが同じでない場合、それらはどのように異なり、どのように実装する必要がありますか?PlaceTokenizer<T>
MyWebAppPlaceHistoryMapper
someDisplay:SomePlace
アプリのブックマーク可能な場所として必要な URL トークンを覚えておいてください。GWT のデフォルトトークンは使用したくありません。前もって感謝します!