001/* 002 * (C) Copyright 2009 Nuxeo SA (http://nuxeo.com/) and contributors. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser General Public License 006 * (LGPL) version 2.1 which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/lgpl.html 008 * 009 * This library is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * Contributors: 015 * stan 016 */ 017 018package org.nuxeo.ecm.webapp.webcontainer; 019 020import java.io.Serializable; 021 022import org.nuxeo.theme.styling.service.descriptors.FlavorDescriptor; 023import org.nuxeo.theme.styling.service.descriptors.LogoDescriptor; 024 025public interface ThemeActions extends Serializable { 026 027 /** 028 * Returns negotiated default theme to handle print action. 029 */ 030 String getDefaultTheme(); 031 032 /** 033 * Returns the logo configured for negotiated flavor. 034 * 035 * @since 5.5. 036 */ 037 LogoDescriptor getLogo(); 038 039 /** 040 * Returns the logo configured for given flavor. 041 * 042 * @since 5.5. 043 */ 044 LogoDescriptor getLogo(String flavorName); 045 046 /** 047 * Returns flavor with given name. 048 */ 049 FlavorDescriptor getFlavor(String flavorName); 050 051 /** 052 * Returns current negotiated flavor. 053 * <p> 054 * Assumes current page has already been resolved for this flavor negotiation. 055 * 056 * @since 7.4 057 */ 058 String getCurrentFlavor(); 059 060 /** 061 * Returns current negotiated flavor for given page, which is set as current page. 062 * 063 * @since 7.4 064 */ 065 String getCurrentFlavor(String pageName); 066 067 /** 068 * Returns current negotiated page. 069 * 070 * @since 7.4 071 */ 072 String getCurrentPage(); 073 074 /** 075 * Sets the current page. 076 * 077 * @since 7.4 078 */ 079 void setCurrentPage(String pageName); 080 081}