/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.kernel.model; import aQute.bnd.annotation.ProviderType; import com.liferay.portal.kernel.annotation.ImplementationClassName; import com.liferay.portal.kernel.util.Accessor; /** * The extended model interface for the Layout service. Represents a row in the "Layout" database table, with each column mapped to a property of this class. * * @author Brian Wing Shun Chan * @see LayoutModel * @see com.liferay.portal.model.impl.LayoutImpl * @see com.liferay.portal.model.impl.LayoutModelImpl * @generated */ @ImplementationClassName("com.liferay.portal.model.impl.LayoutImpl") @ProviderType public interface Layout extends LayoutModel, PersistedModel { /* * NOTE FOR DEVELOPERS: * * Never modify this interface directly. Add methods to {@link com.liferay.portal.model.impl.LayoutImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. */ public static final Accessor<Layout, Long> PLID_ACCESSOR = new Accessor<Layout, Long>() { @Override public Long get(Layout layout) { return layout.getPlid(); } @Override public Class<Long> getAttributeClass() { return Long.class; } @Override public Class<Layout> getTypeClass() { return Layout.class; } }; public static final Accessor<Layout, Long> LAYOUT_ID_ACCESSOR = new Accessor<Layout, Long>() { @Override public Long get(Layout layout) { return layout.getLayoutId(); } @Override public Class<Long> getAttributeClass() { return Long.class; } @Override public Class<Layout> getTypeClass() { return Layout.class; } }; /** * Returns all layouts that are direct or indirect children of the current * layout. * * @return the layouts that are direct or indirect children of the current layout */ public java.util.List<Layout> getAllChildren(); /** * Returns the ID of the topmost parent layout (e.g. n-th parent layout) of * the current layout. * * @return the ID of the topmost parent layout of the current layout */ public long getAncestorLayoutId() throws com.liferay.portal.kernel.exception.PortalException; /** * Returns the plid of the topmost parent layout (e.g. n-th parent layout) * of the current layout. * * @return the plid of the topmost parent layout of the current layout */ public long getAncestorPlid() throws com.liferay.portal.kernel.exception.PortalException; /** * Returns all parent layouts of the current layout. The list is retrieved * recursively with the direct parent layout listed first, and most distant * parent listed last. * * @return the current layout's list of parent layouts */ public java.util.List<Layout> getAncestors() throws com.liferay.portal.kernel.exception.PortalException; /** * Returns all child layouts of the current layout, independent of user * access permissions. * * @return the list of all child layouts */ public java.util.List<Layout> getChildren(); /** * Returns all child layouts of the current layout that the user has * permission to access. * * @param permissionChecker the user-specific context to check permissions * @return the list of all child layouts that the user has permission to access */ public java.util.List<Layout> getChildren( com.liferay.portal.kernel.security.permission.PermissionChecker permissionChecker) throws com.liferay.portal.kernel.exception.PortalException; /** * Returns the color scheme that is configured for the current layout, or * the color scheme of the layout set that contains the current layout if no * color scheme is configured. * * @return the color scheme that is configured for the current layout, or the color scheme of the layout set that contains the current layout if no color scheme is configured */ public ColorScheme getColorScheme() throws com.liferay.portal.kernel.exception.PortalException; /** * Returns the CSS text for the current layout, or for the layout set if no * CSS text is configured in the current layout. * * <p> * Layouts and layout sets can configure CSS that is applied in addition to * the theme's CSS. * </p> * * @return the CSS text for the current layout, or for the layout set if no CSS text is configured in the current layout */ public java.lang.String getCssText() throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getDefaultThemeSetting(java.lang.String key, java.lang.String device, boolean inheritLookAndFeel); public java.util.List<Portlet> getEmbeddedPortlets(); public java.util.List<Portlet> getEmbeddedPortlets(long groupId); /** * Returns the layout's friendly URL for the given locale. * * @param locale the locale that the friendly URL should be retrieved for * @return the layout's friendly URL for the given locale */ public java.lang.String getFriendlyURL(java.util.Locale locale); /** * Returns the friendly URLs for all configured locales. * * @return the friendly URLs for all configured locales */ public java.util.Map<java.util.Locale, java.lang.String> getFriendlyURLMap(); public java.lang.String getFriendlyURLsXML(); /** * Returns the current layout's group. * * <p> * Group is Liferay's technical name for a site. * </p> * * @return the current layout's group */ public Group getGroup(); /** * Returns the current layout's HTML title for the given locale, or the * current layout's name for the given locale if no HTML title is * configured. * * @param locale the locale that the HTML title should be retrieved for * @return the current layout's HTML title for the given locale, or the current layout's name for the given locale if no HTML title is configured */ public java.lang.String getHTMLTitle(java.util.Locale locale); /** * Returns the current layout's HTML title for the given locale language ID, * or the current layout's name if no HTML title is configured. * * @param localeLanguageId the locale that the HTML title should be retrieved for * @return the current layout's HTML title for the given locale language ID, or the current layout's name if no HTML title is configured */ public java.lang.String getHTMLTitle(java.lang.String localeLanguageId); /** * Returns <code>true</code> if the current layout has a configured icon. * * @return <code>true</code> if the current layout has a configured icon; <code>false</code> otherwise */ public boolean getIconImage(); /** * Returns the current layout's {@link LayoutSet}. * * @return the current layout's layout set */ public LayoutSet getLayoutSet(); /** * Returns the current layout's {@link LayoutType}. * * @return the current layout's layout type */ public LayoutType getLayoutType(); /** * Returns the current layout's linked layout. * * @return the current layout's linked layout, or <code>null</code> if no linked layout could be found */ public Layout getLinkedToLayout(); /** * Returns the current layout's parent plid. * * @return the current layout's parent plid, or <code>0</code> if the current layout is the topmost parent layout */ public long getParentPlid() throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getRegularURL( javax.servlet.http.HttpServletRequest request) throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getResetLayoutURL( javax.servlet.http.HttpServletRequest request) throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getResetMaxStateURL( javax.servlet.http.HttpServletRequest request) throws com.liferay.portal.kernel.exception.PortalException; public Group getScopeGroup() throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getTarget(); /** * Returns the current layout's theme, or the layout set's theme if no * layout theme is configured. * * @return the current layout's theme, or the layout set's theme if no layout theme is configured */ public Theme getTheme() throws com.liferay.portal.kernel.exception.PortalException; public java.lang.String getThemeSetting(java.lang.String key, java.lang.String device); public java.lang.String getThemeSetting(java.lang.String key, java.lang.String device, boolean inheritLookAndFeel); public com.liferay.portal.kernel.util.UnicodeProperties getTypeSettingsProperties(); public java.lang.String getTypeSettingsProperty(java.lang.String key); public java.lang.String getTypeSettingsProperty(java.lang.String key, java.lang.String defaultValue); /** * Returns <code>true</code> if the given layout ID matches one of the * current layout's hierarchical parents. * * @param layoutId the layout ID to search for in the current layout's parent list * @return <code>true</code> if the given layout ID matches one of the current layout's hierarchical parents; <code>false</code> otherwise */ public boolean hasAncestor(long layoutId) throws com.liferay.portal.kernel.exception.PortalException; /** * Returns <code>true</code> if the current layout has child layouts. * * @return <code>true</code> if the current layout has child layouts, <code>false</code> otherwise */ public boolean hasChildren(); public boolean hasScopeGroup() throws com.liferay.portal.kernel.exception.PortalException; public boolean hasSetModifiedDate(); public boolean includeLayoutContent( javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception; public boolean isChildSelected(boolean selectable, Layout layout) throws com.liferay.portal.kernel.exception.PortalException; /** * Returns <code>true</code> if the current layout can be used as a content * display page. * * <p> * A content display page must have an Asset Publisher portlet that is * configured as the default Asset Publisher for the layout. * </p> * * @return <code>true</code> if the current layout can be used as a content display page; <code>false</code> otherwise */ public boolean isContentDisplayPage(); public boolean isCustomizable(); /** * Returns <code>true</code> if the current layout is the first layout in * its parent's hierarchical list of children layouts. * * @return <code>true</code> if the current layout is the first layout in its parent's hierarchical list of children layouts; <code>false</code> otherwise */ public boolean isFirstChild(); /** * Returns <code>true</code> if the current layout is the topmost parent * layout. * * @return <code>true</code> if the current layout is the topmost parent layout; <code>false</code> otherwise */ public boolean isFirstParent(); public boolean isIconImage(); /** * Returns <code>true</code> if the current layout utilizes its {@link * LayoutSet}'s look and feel options (e.g. theme and color scheme). * * @return <code>true</code> if the current layout utilizes its layout set's look and feel options; <code>false</code> otherwise */ public boolean isInheritLookAndFeel(); /** * Returns <code>true</code> if the current layout is built from a layout * template and still maintains an active connection to it. * * @return <code>true</code> if the current layout is built from a layout template and still maintains an active connection to it; <code>false</code> otherwise */ public boolean isLayoutPrototypeLinkActive(); public boolean isPortletEmbedded(java.lang.String portletId, long groupId); /** * Returns <code>true</code> if the current layout is part of the public * {@link LayoutSet}. * * <p> * Note, the returned value reflects the layout's default access options, * not its access permissions. * </p> * * @return <code>true</code> if the current layout is part of the public layout set; <code>false</code> otherwise */ public boolean isPublicLayout(); /** * Returns <code>true</code> if the current layout is the root layout. * * @return <code>true</code> if the current layout is the root layout; <code>false</code> otherwise */ public boolean isRootLayout(); public boolean isSelected(boolean selectable, Layout layout, long ancestorPlid); /** * Returns <code>true</code> if the current layout can hold embedded * portlets. * * @return <code>true</code> if the current layout can hold embedded portlets; <code>false</code> otherwise */ public boolean isSupportsEmbeddedPortlets(); /** * @deprecated As of 7.0.0, with no direct replacement */ @java.lang.Deprecated() public boolean isTypeArticle(); public boolean isTypeControlPanel(); public boolean isTypeEmbedded(); public boolean isTypeLinkToLayout(); public boolean isTypePanel(); public boolean isTypePortlet(); public boolean isTypeSharedPortlet(); public boolean isTypeURL(); public boolean matches(javax.servlet.http.HttpServletRequest request, java.lang.String friendlyURL); public void setLayoutSet(LayoutSet layoutSet); public void setTypeSettingsProperties( com.liferay.portal.kernel.util.UnicodeProperties typeSettingsProperties); }