package org.fenixedu.bennu.portal.servlet; import org.fenixedu.bennu.portal.domain.MenuFunctionality; import org.fenixedu.bennu.portal.model.Functionality; /** * Portal backends represent specific presentation frameworks that acknowledge the presence of bennu-portal. * * <p> * Backends are required to have unique keys, which are used to determine the backend associated to a {@link MenuFunctionality}. * </p> * * @author João Carvalho (joao.pedro.carvalho@tecnico.ulisboa.pt) * */ public interface PortalBackend { /** * Returns the {@link SemanticURLHandler} for this backend. * * @return * The URL Handler for this backend */ public SemanticURLHandler getSemanticURLHandler(); /** * Returns whether functionalities provider by this backend require the * server to wrap the response in the configured layout. * * @return * Whether this backend requires server-side layouting */ public boolean requiresServerSideLayout(); /** * Returns the unique key used to identify this backend. * * This key MUST match the provider key of {@link Functionality}s declared by this backend. * * @return * The unique key for this backend */ public String getBackendKey(); }