Class LayoutImpl

Object
com.liferay.portal.kernel.model.impl.BaseModelImpl<com.liferay.portal.kernel.model.Layout>
All Implemented Interfaces:
com.liferay.portal.kernel.model.AttachedModel, com.liferay.portal.kernel.model.AuditedModel, com.liferay.portal.kernel.model.BaseModel<com.liferay.portal.kernel.model.Layout>, com.liferay.portal.kernel.model.change.tracking.CTModel<com.liferay.portal.kernel.model.Layout>, com.liferay.portal.kernel.model.ClassedModel, com.liferay.portal.kernel.model.ExternalReferenceCodeModel, com.liferay.portal.kernel.model.GroupedModel, com.liferay.portal.kernel.model.Layout, com.liferay.portal.kernel.model.LayoutModel, com.liferay.portal.kernel.model.LocalizedModel, com.liferay.portal.kernel.model.MVCCModel, com.liferay.portal.kernel.model.PersistedModel, com.liferay.portal.kernel.model.ShardedModel, com.liferay.portal.kernel.model.StagedGroupedModel, com.liferay.portal.kernel.model.StagedModel, com.liferay.portal.kernel.model.TypedModel, com.liferay.portal.kernel.model.WorkflowedModel, Serializable, Cloneable, Comparable<com.liferay.portal.kernel.model.Layout>

public class LayoutImpl extends LayoutBaseImpl
Represents a portal layout, providing access to the layout's URLs, parent layouts, child layouts, theme settings, type settings, and more.

The UI name for a layout is "page." Thus, a layout represents a page in the portal. A single page is either part of the public or private layout set of a group (site). Layouts can be organized hierarchically and are summarized in a LayoutSet.

Author:
Brian Wing Shun Chan
See Also:
  • Constructor Details

    • LayoutImpl

      public LayoutImpl()
  • Method Details

    • hasFriendlyURLKeyword

      public static boolean hasFriendlyURLKeyword(String friendlyURL)
    • validateFriendlyURL

      public static int validateFriendlyURL(String friendlyURL)
    • validateFriendlyURL

      public static int validateFriendlyURL(String friendlyURL, boolean checkMaxLength)
      Checks whether the URL is a valid friendly URL. It checks for minimal length and that syntactic restrictions are met, and can check that the URL's length does not exceed the maximum length.
      Parameters:
      friendlyURL - the URL to be checked
      checkMaxLength - whether to check that the URL's length does not exceed the maximum length
      Returns:
      -1 if the URL is a valid friendly URL; a LayoutFriendlyURLException constant otherwise
    • validateFriendlyURLKeyword

      public static void validateFriendlyURLKeyword(String friendlyURL) throws com.liferay.portal.kernel.exception.LayoutFriendlyURLException
      Throws:
      com.liferay.portal.kernel.exception.LayoutFriendlyURLException
    • fetchDraftLayout

      public com.liferay.portal.kernel.model.Layout fetchDraftLayout()
    • getAllChildren

      public List<com.liferay.portal.kernel.model.Layout> getAllChildren()
      Returns all layouts that are direct or indirect children of the current layout.
      Returns:
      the layouts that are direct or indirect children of the current layout
    • getAncestorLayoutId

      public long getAncestorLayoutId() throws com.liferay.portal.kernel.exception.PortalException
      Returns the ID of the topmost parent layout (e.g. n-th parent layout) of the current layout.
      Returns:
      the ID of the topmost parent layout of the current layout
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getAncestorPlid

      public long getAncestorPlid() 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.
      Returns:
      the plid of the topmost parent layout of the current layout
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getAncestors

      public List<com.liferay.portal.kernel.model.Layout> getAncestors() 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.
      Returns:
      the current layout's list of parent layouts
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getBreadcrumb

      public String getBreadcrumb(Locale locale) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getChildren

      public List<com.liferay.portal.kernel.model.Layout> getChildren()
      Returns all child layouts of the current layout, independent of user access permissions.
      Returns:
      the list of all child layouts
    • getChildren

      public List<com.liferay.portal.kernel.model.Layout> getChildren(com.liferay.portal.kernel.security.permission.PermissionChecker permissionChecker) throws com.liferay.portal.kernel.exception.PortalException
      Returns all child layouts of the current layout that the user has permission to access.
      Parameters:
      permissionChecker - the user-specific context to check permissions
      Returns:
      the list of all child layouts that the user has permission to access
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getColorScheme

      public com.liferay.portal.kernel.model.ColorScheme getColorScheme() 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.
      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
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCssText

      public String getCssText() 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.

      Layouts and layout sets can configure CSS that is applied in addition to the theme's CSS.

      Returns:
      the CSS text for the current layout, or for the layout set if no CSS text is configured in the current layout
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getDefaultThemeSetting

      public String getDefaultThemeSetting(String key, String device, boolean inheritLookAndFeel)
    • getEmbeddedPortlets

      public List<com.liferay.portal.kernel.model.Portlet> getEmbeddedPortlets()
    • getEmbeddedPortlets

      public List<com.liferay.portal.kernel.model.Portlet> getEmbeddedPortlets(long groupId)
    • getFaviconURL

      public String getFaviconURL()
    • getFriendlyURL

      public String getFriendlyURL(Locale locale)
      Returns the layout's friendly URL for the given locale.
      Parameters:
      locale - the locale that the friendly URL should be retrieved for
      Returns:
      the layout's friendly URL for the given locale
    • getFriendlyURLMap

      public Map<Locale,String> getFriendlyURLMap()
      Returns the friendly URLs for all configured locales.
      Returns:
      the friendly URLs for all configured locales
    • getFriendlyURLsXML

      public String getFriendlyURLsXML()
    • getGroup

      public com.liferay.portal.kernel.model.Group getGroup()
      Returns the current layout's group.

      Group is Liferay's technical name for a site.

      Returns:
      the current layout's group
    • getHTMLTitle

      public String getHTMLTitle(Locale locale)
      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.
      Parameters:
      locale - the locale that the HTML title should be retrieved for
      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
    • getHTMLTitle

      public String getHTMLTitle(String localeLanguageId)
      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.
      Parameters:
      localeLanguageId - the locale that the HTML title should be retrieved for
      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
    • getIcon

      public String getIcon()
    • getIconImage

      public boolean getIconImage()
      Returns true if the current layout has a configured icon.
      Returns:
      true if the current layout has a configured icon; false otherwise
    • getLayoutSet

      public com.liferay.portal.kernel.model.LayoutSet getLayoutSet()
      Returns the current layout's LayoutSet.
      Returns:
      the current layout's layout set
    • getLayoutSetPrototypeLayout

      public com.liferay.portal.kernel.model.Layout getLayoutSetPrototypeLayout()
    • getLayoutType

      public com.liferay.portal.kernel.model.LayoutType getLayoutType()
      Returns the current layout's LayoutType.
      Returns:
      the current layout's layout type
    • getLinkedToLayout

      public com.liferay.portal.kernel.model.Layout getLinkedToLayout()
      Returns the current layout's linked layout.
      Returns:
      the current layout's linked layout, or null if no linked layout could be found
    • getRegularURL

      public String getRegularURL(javax.servlet.http.HttpServletRequest httpServletRequest) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getResetLayoutURL

      public String getResetLayoutURL(javax.servlet.http.HttpServletRequest httpServletRequest) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getResetMaxStateURL

      public String getResetMaxStateURL(javax.servlet.http.HttpServletRequest httpServletRequest) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getScopeGroup

      public com.liferay.portal.kernel.model.Group getScopeGroup() throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getTarget

      public String getTarget()
    • getTheme

      public com.liferay.portal.kernel.model.Theme getTheme() throws com.liferay.portal.kernel.exception.PortalException
      Returns the current layout's theme, or the layout set's theme if no layout theme is configured.
      Returns:
      the current layout's theme, or the layout set's theme if no layout theme is configured
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getThemeSetting

      public String getThemeSetting(String key, String device)
    • getThemeSetting

      public String getThemeSetting(String key, String device, boolean inheritLookAndFeel)
    • getTypeSettings

      public String getTypeSettings()
      Specified by:
      getTypeSettings in interface com.liferay.portal.kernel.model.LayoutModel
      Overrides:
      getTypeSettings in class LayoutModelImpl
    • getTypeSettingsProperties

      public com.liferay.portal.kernel.util.UnicodeProperties getTypeSettingsProperties()
    • getTypeSettingsProperty

      public String getTypeSettingsProperty(String key)
    • getTypeSettingsProperty

      public String getTypeSettingsProperty(String key, String defaultValue)
    • hasAncestor

      public boolean hasAncestor(long layoutId) throws com.liferay.portal.kernel.exception.PortalException
      Returns true if the given layout ID matches one of the current layout's hierarchical parents.
      Parameters:
      layoutId - the layout ID to search for in the current layout's parent list
      Returns:
      true if the given layout ID matches one of the current layout's hierarchical parents; false otherwise
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • hasChildren

      public boolean hasChildren()
      Returns true if the current layout has child layouts.
      Returns:
      true if the current layout has child layouts, false otherwise
    • hasScopeGroup

      public boolean hasScopeGroup() throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • hasSetModifiedDate

      public boolean hasSetModifiedDate()
      Specified by:
      hasSetModifiedDate in interface com.liferay.portal.kernel.model.Layout
      Overrides:
      hasSetModifiedDate in class LayoutModelImpl
    • includeLayoutContent

      public boolean includeLayoutContent(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception
      Throws:
      Exception
    • isChildSelected

      public boolean isChildSelected(boolean selectable, com.liferay.portal.kernel.model.Layout layout) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • isContentDisplayPage

      public boolean isContentDisplayPage()
      Returns true if the current layout can be used as a content display page.

      A content display page must have an Asset Publisher portlet that is configured as the default Asset Publisher for the layout.

      Returns:
      true if the current layout can be used as a content display page; false otherwise
    • isCustomizable

      public boolean isCustomizable()
    • isDraftLayout

      public boolean isDraftLayout()
    • isEmbeddedPersonalApplication

      public boolean isEmbeddedPersonalApplication()
    • isFirstChild

      public boolean isFirstChild()
      Returns true if the current layout is the first layout in its parent's hierarchical list of children layouts.
      Returns:
      true if the current layout is the first layout in its parent's hierarchical list of children layouts; false otherwise
    • isFirstParent

      public boolean isFirstParent()
      Returns true if the current layout is the topmost parent layout.
      Returns:
      true if the current layout is the topmost parent layout; false otherwise
    • isIconImage

      public boolean isIconImage()
    • isInheritLookAndFeel

      public boolean isInheritLookAndFeel()
      Returns true if the current layout utilizes its LayoutSet's look and feel options (e.g. theme and color scheme).
      Returns:
      true if the current layout utilizes its layout set's look and feel options; false otherwise
    • isLayoutDeleteable

      public boolean isLayoutDeleteable()
    • isLayoutPrototypeLinkActive

      public boolean isLayoutPrototypeLinkActive()
      Returns true if the current layout is built from a layout template and still maintains an active connection to it.
      Returns:
      true if the current layout is built from a layout template and still maintains an active connection to it; false otherwise
    • isLayoutSortable

      public boolean isLayoutSortable()
    • isLayoutUpdateable

      public boolean isLayoutUpdateable()
    • isPortletEmbedded

      public boolean isPortletEmbedded(String portletId, long groupId)
    • isPublicLayout

      public boolean isPublicLayout()
      Returns true if the current layout is part of the public LayoutSet.

      Note, the returned value reflects the layout's default access options, not its access permissions.

      Returns:
      true if the current layout is part of the public layout set; false otherwise
    • isPublished

      public boolean isPublished()
    • isRootLayout

      public boolean isRootLayout()
      Returns true if the current layout is the root layout.
      Returns:
      true if the current layout is the root layout; false otherwise
    • isSelected

      public boolean isSelected(boolean selectable, com.liferay.portal.kernel.model.Layout layout, long ancestorPlid)
    • isSupportsEmbeddedPortlets

      public boolean isSupportsEmbeddedPortlets()
      Returns true if the current layout can hold embedded portlets.
      Returns:
      true if the current layout can hold embedded portlets; false otherwise
    • isTypeAssetDisplay

      public boolean isTypeAssetDisplay()
    • isTypeContent

      public boolean isTypeContent()
    • isTypeControlPanel

      public boolean isTypeControlPanel()
    • isTypeEmbedded

      public boolean isTypeEmbedded()
    • isTypeLinkToLayout

      public boolean isTypeLinkToLayout()
    • isTypePanel

      public boolean isTypePanel()
    • isTypePortlet

      public boolean isTypePortlet()
    • isTypeURL

      public boolean isTypeURL()
    • isTypeUtility

      public boolean isTypeUtility()
    • isUnlocked

      public boolean isUnlocked(String mode, long userId)
    • matches

      public boolean matches(javax.servlet.http.HttpServletRequest httpServletRequest, String friendlyURL)
    • setGroupId

      public void setGroupId(long groupId)
      Specified by:
      setGroupId in interface com.liferay.portal.kernel.model.GroupedModel
      Specified by:
      setGroupId in interface com.liferay.portal.kernel.model.LayoutModel
      Overrides:
      setGroupId in class LayoutModelImpl
    • setLayoutSet

      public void setLayoutSet(com.liferay.portal.kernel.model.LayoutSet layoutSet)
    • setPrivateLayout

      public void setPrivateLayout(boolean privateLayout)
      Specified by:
      setPrivateLayout in interface com.liferay.portal.kernel.model.LayoutModel
      Overrides:
      setPrivateLayout in class LayoutModelImpl
    • setTypeSettings

      public void setTypeSettings(String typeSettings)
      Specified by:
      setTypeSettings in interface com.liferay.portal.kernel.model.LayoutModel
      Overrides:
      setTypeSettings in class LayoutModelImpl
    • setTypeSettingsProperties

      public void setTypeSettingsProperties(com.liferay.portal.kernel.util.UnicodeProperties typeSettingsUnicodeProperties)