Package com.ponysdk.impl.webapplication.page

Source Code of com.ponysdk.impl.webapplication.page.ApplicationPlaceHistoryMapper

package com.ponysdk.impl.webapplication.page;

import com.ponysdk.core.event.EventBus;
import com.ponysdk.core.place.DefaultPlaceHistoryMapper;
import com.ponysdk.core.place.Place;
import com.ponysdk.impl.webapplication.page.place.PagePlace;

public class ApplicationPlaceHistoryMapper extends DefaultPlaceHistoryMapper {

    private PageProvider pageProvider;

    public ApplicationPlaceHistoryMapper(final EventBus eventBus) {
        super(eventBus);
    }

    @Override
    public Place getPlace(final String token) {
        final Place place = placeContextByToken.get(token);
        if (place == null) {
            // History on a new PonySesion instance
            final PageActivity pageActivity = pageProvider.getPageActivity(token);
            if (pageActivity != null) return new PagePlace(pageActivity.getPageName());
        }

        return place;
    }

    public void setPageProvider(final PageProvider pageProvider) {
        this.pageProvider = pageProvider;
    }

    @Override
    public String getToken(final Place place) {
        if (place instanceof PagePlace && ((PagePlace) place).getToken() != null) { return ((PagePlace) place).getToken(); }
        return place.getClass().getSimpleName();
    }

}
TOP

Related Classes of com.ponysdk.impl.webapplication.page.ApplicationPlaceHistoryMapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.