Example usage for org.apache.wicket.request.mapper.info PageComponentInfo getComponentInfo

List of usage examples for org.apache.wicket.request.mapper.info PageComponentInfo getComponentInfo

Introduction

In this page you can find the example usage for org.apache.wicket.request.mapper.info PageComponentInfo getComponentInfo.

Prototype

public ComponentInfo getComponentInfo() 

Source Link

Usage

From source file:codetroopers.wicket.web.routes.mapper.ParamCheckingPatternMapper.java

License:Apache License

@Override
protected void encodePageComponentInfo(final Url url, final PageComponentInfo info) {
    //we are generating an url to a behavior, we keep all information, otherwise we consider we don't want version in url
    if (versionInUrl || info.getComponentInfo() != null) {
        super.encodePageComponentInfo(url, info);
    } else {//from  www .  j a  v a  2  s .c om
        super.encodePageComponentInfo(url, null);
    }
}

From source file:jp.javelindev.wicket.FixedUrlMountedMapper.java

License:Apache License

/**
 * {@inheritDoc }/*from w w w  . ja  va  2  s.c  o  m*/
 * <p>
 * request?pageId??????????????????ID??
 * ???????????ID???
 */
@Override
public IRequestHandler mapRequest(Request request) {
    UrlInfo urlInfo = parseRequest(request);

    // check if the URL is long enough and starts with the proper segments
    if (urlInfo != null) {
        PageComponentInfo info = urlInfo.getPageComponentInfo();
        Class<? extends IRequestablePage> pageClass = urlInfo.getPageClass();
        PageParameters pageParameters = urlInfo.getPageParameters();

        Integer storedPageId = getStoredPageId(pageClass);
        boolean reload = pageParameters != null && pageParameters.getNamedKeys().contains("reload");

        //?ID?????????????
        //???ID?ID????????????
        //ID?????????????
        //processBookmarkable??????PageProvider???
        //?PageProvider?????????IDID???
        //reload????????????
        if (reload || ((info == null || info.getPageInfo().getPageId() == null) && storedPageId == null)) {
            // if there are is no page instance information (only page map name - optionally)
            // then this is a simple bookmarkable URL

            if (reload) {
                pageParameters.remove("reload");
            }

            return processBookmarkable(pageClass, pageParameters);
        } else if (((info != null && info.getPageInfo() != null && info.getPageInfo().getPageId() != null)
                || storedPageId != null) && (info == null || info.getComponentInfo() == null)) {
            // if there is page instance information in the URL but no component and listener
            // interface then this is a hybrid URL - we need to try to reuse existing page
            // instance

            // URL?ID?????????????
            // URL?ID?????storedPageID != null ???storedPageIdID????
            PageInfo pageInfo = info == null ? null : info.getPageInfo();
            if ((pageInfo == null || pageInfo.getPageId() == null) && storedPageId != null) {
                pageInfo = new PageInfo(storedPageId);
            }

            return processHybrid(pageInfo, pageClass, pageParameters, null);
        } else if (info != null && info.getComponentInfo() != null) {
            // with both page instance and component+listener this is a listener interface URL
            return processListener(info, pageClass, pageParameters);
        }
    }
    return null;
}

From source file:jp.xet.uncommons.wicket.fixedurl.FixedUrlMountedMapper.java

License:Apache License

/**
 * {@inheritDoc}/* w ww.java  2  s.  com*/
 * 
 * <p>request?pageId??????????????????ID??
 * ???????????ID???</p>
 */
@Override
@SuppressWarnings("null")
public IRequestHandler mapRequest(Request request) {
    UrlInfo urlInfo = parseRequest(request);

    // check if the URL is long enough and starts with the proper segments
    if (urlInfo != null) {
        PageComponentInfo info = urlInfo.getPageComponentInfo();
        Class<? extends Page> pageClass = urlInfo.getPageClass().asSubclass(Page.class);
        PageParameters pageParameters = urlInfo.getPageParameters();

        Integer storedPageId = getStoredPageId(pageClass, pageParameters);
        boolean reload = pageParameters != null && pageParameters.getNamedKeys().contains(KEY_RELOAD);

        // ?ID?????????????
        // ???ID?ID????????????
        // ID?????????????
        // processBookmarkable??????PageProvider???
        // ?PageProvider?????????IDID???
        // reload????????????
        if (reload || ((info == null || info.getPageInfo().getPageId() == null) && storedPageId == null)) {
            // if there are is no page instance information (only page map name - optionally)
            // then this is a simple bookmarkable URL

            if (reload) {
                pageParameters.remove(KEY_RELOAD);
            }

            return processBookmarkable(pageClass, pageParameters);
        } else if (((info != null && info.getPageInfo() != null && info.getPageInfo().getPageId() != null)
                || storedPageId != null) && (info == null || info.getComponentInfo() == null)) {
            // if there is page instance information in the URL but no component and listener
            // interface then this is a hybrid URL - we need to try to reuse existing page
            // instance

            // URL?ID?????????????
            // URL?ID?????storedPageID != null ???storedPageIdID????
            PageInfo pageInfo = info == null ? null : info.getPageInfo();
            if ((pageInfo == null || pageInfo.getPageId() == null) && storedPageId != null) {
                pageInfo = new PageInfo(storedPageId);
            }

            return processHybrid(pageInfo, pageClass, pageParameters, null);
        } else if (info != null && info.getComponentInfo() != null) {
            // with both page instance and component+listener this is a listener interface URL
            return processListener(info, pageClass, pageParameters);
        }
    }
    return null;
}