package com.worldturner.commons.wicket.componentpage.link; import org.apache.wicket.Component; import com.worldturner.commons.wicket.componentpage.PageComponent; /** * * @author Erwin Bolwidt (ebolwidt@worldturner.com) */ public class PageComponentLink extends ComponentLink { private static final long serialVersionUID = 1L; public PageComponentLink(String id, Class componentClass, Object... arguments) { super(id, componentClass, arguments); } public PageComponentLink(String id, Component targetComponent, Class componentClass, Object... arguments) { super(id, targetComponent, componentClass, arguments); } @Override protected Component determineTargetComponent() { Component parent = this; while ((parent = parent.getParent()) != null) { PageComponent annotation = parent.getClass().getAnnotation(PageComponent.class); if (annotation != null) { return parent; } } return null; } }