package com.andreiolar.abms.client; import com.andreiolar.abms.client.activity.AdminActivity; import com.andreiolar.abms.client.activity.LoginActivity; import com.andreiolar.abms.client.activity.UserActivity; import com.andreiolar.abms.client.place.AdminPlace; import com.andreiolar.abms.client.place.LoginPlace; import com.andreiolar.abms.client.place.UserPlace; import com.google.gwt.activity.shared.Activity; import com.google.gwt.activity.shared.ActivityMapper; import com.google.gwt.place.shared.Place; public class AppActivityMapper implements ActivityMapper { private ClientFactory clientFactory; public AppActivityMapper(ClientFactory clientFactory) { super(); this.clientFactory = clientFactory; } @Override public Activity getActivity(Place place) { if (place instanceof LoginPlace) { return new LoginActivity((LoginPlace) place, clientFactory); } else if (place instanceof UserPlace) { return new UserActivity((UserPlace) place, clientFactory); } else if (place instanceof AdminPlace) { return new AdminActivity((AdminPlace) place, clientFactory); } return null; } }