package component.authorization.strategy.example; import java.util.HashSet; import org.apache.wicket.Component; import org.apache.wicket.MetaDataKey; import authorization.strategy.api.Right; import authorization.strategy.api.Rights; public class ApplicationRights extends Rights { private static final long serialVersionUID = 1L; public static ApplicationRights bind(final Component component) { return new ApplicationRights(component); } protected ApplicationRights(final Component component) { super(component); } @Override protected boolean onAuthorized(final MetaDataKey<HashSet<Right>> key) { final HashSet<Right> componentRights = component.getMetaData(key); if (componentRights == null) { return true; } final WicketSession session = (WicketSession)component.getSession(); for (final Right right : componentRights) { if (session.isAuthorized(right)) { return true; } } return false; } }