Example usage for org.apache.wicket MarkupContainer urlFor

List of usage examples for org.apache.wicket MarkupContainer urlFor

Introduction

In this page you can find the example usage for org.apache.wicket MarkupContainer urlFor.

Prototype

public final <C extends Page> CharSequence urlFor(final Class<C> pageClass, final PageParameters parameters) 

Source Link

Document

Returns a bookmarkable URL that references a given page class using a given set of page parameters.

Usage

From source file:org.opensingular.lib.wicket.util.menu.MetronicMenuItem.java

License:Apache License

protected WebMarkupContainer buildMenuItem() {

    menuItem = new WebMarkupContainer("menu-item");

    MarkupContainer anchor;

    if (href != null) {
        anchor = new WebMarkupContainer("anchor");
        anchor.add($b.attr("href", href));
        if (target != null) {
            anchor.add($b.attr("target", target));
        }//w  w w . j a v  a2s .  co m
        this.menuItemUrl = href;
    } else if (responsePageClass != null) {
        anchor = new BookmarkablePageLink("anchor", responsePageClass, parameters);
        menuItemUrl = anchor.urlFor((Class<Page>) responsePageClass, parameters).toString();
    } else if (page != null) {
        anchor = new Link("anchor") {
            @Override
            public void onClick() {
                setResponsePage(page);
            }
        };
    } else {
        throw new WicketRuntimeException(" necessario informar o destino do item");
    }

    WebMarkupContainer iconMarkup = new WebMarkupContainer("icon");

    if (icon != null) {
        iconMarkup.add($b.classAppender(icon.getCssClass()));
    } else {
        iconMarkup.setVisible(false);
    }

    anchor.add(new Label("title", title));
    anchor.add(helper);
    anchor.add(iconMarkup);

    menuItem.add(anchor);
    return menuItem;

}