Class Website

  • All Implemented Interfaces:
    java.lang.Cloneable, IWebsite, IWebsitesSPI

    public class Website
    extends java.lang.Object
    implements IWebsitesSPI, java.lang.Cloneable
    Website entity implementation.

    Implements the IWebsite interface and stores the properties of a website.

    Due to the complexity of a website, while changing some properties of a website other features may be affected. So it is recommended to not mix the change of a website with other operations.

    Since:
    6.2.0
    Version:
    $Revision: 25355 $ $Date: 2022-11-11 10:05:16 -0300 (Fri, 11 Nov 2022) $
    See Also:
    IWebsite
    • Field Detail

      • NAMED_QUERY_FIND_BY_ROOT_CHANNEL_ID

        public static final java.lang.String NAMED_QUERY_FIND_BY_ROOT_CHANNEL_ID
        Named query to find a Website by its root channel.
        Expects the following parameters:
        • channelId: the root channel identifier.
        Since:
        6.2.0
        See Also:
        Constant Field Values
    • Constructor Detail

      • Website

        public Website()
    • Method Detail

      • getId

        public java.lang.String getId()
        Returns the identifier of this website.
        Specified by:
        getId in interface IWebsite
        Returns:
        the identifier of this website.
        Since:
        6.2.0
      • getName

        public java.lang.String getName()
        Returns the name of this website. This name is used only for display, and has no functional impact.
        Specified by:
        getName in interface IWebsite
        Returns:
        the website name.
        Since:
        6.2.0
      • setName

        public void setName​(java.lang.String name)
                     throws PortalException
        Sets the website name. This name is used only for display, and has no functional impact.
        Parameters:
        name - the website name.
        Throws:
        java.lang.IllegalArgumentException - if the given name is null.
        PortalException - if the given name is already been used.
        Since:
        6.2.0
      • getWebRootPath

        public java.lang.String getWebRootPath()
        Returns the web root path defined for this website.

        The path may contain references to JVM system properties using the syntax ${system['propertyName']}. Such references will be replaced by the property value when evaluating the web root folder.

        Returns:
        the web root path.
        Since:
        6.2.0
      • setWebRootPath

        public void setWebRootPath​(java.lang.String webRootPath)
                            throws PortalException
        Sets the web root path defined for this website.

        If changing the web root path of an existing website, all files of that website managed by the portal will be moved during the current transaction commit. If a file cannot be properly moved, corresponding messages will be added to the system log, but an exception will not be thrown.

        The path may contain references to JVM system properties using the syntax ${system['propertyName']}. Such references will be replaced by the property value when evaluating the web root folder.
        When updating an existent website, this operation must not be executed along with setRootChannelId(String) in the same transaction. If so, an IllegalStateException will be raised.

        Throws:
        PortalException - if the given path does not exist or is not writable.
        Since:
        6.2.0
      • getRootChannelId

        public java.lang.String getRootChannelId()
        Returns the identifier of the root channel of this web site.
        Specified by:
        getRootChannelId in interface IWebsite
        Returns:
        the identifier of the root channel, of null if there is no root channel defined for this website.
        Since:
        6.2.0
      • setRootChannelId

        public void setRootChannelId​(java.lang.String rootChannelId)
                              throws PortalException
        Sets the root channel of this web site.
        Parameters:
        rootChannelId - the identifier of the root channel, or null to set no root channel for this website.
        Throws:
        PortalObjectNotFoundException - if the specified channel does not exist.
        PortalException - if the specified channel may not be a website root channel. For example, if the channel is already the root channel of another website, a channel template or resides inside a channel template.
        When updating an existent website, this operation must not be executed along with setWebRootPath(String) in the same transaction. If so, an IllegalStateException will be raised.
        PortalException - if the given channel doesn't exist, if the given channel is template or it is inside a template tree or if it is already been used.
        Since:
        6.2.0
      • isDefaultWebsite

        public boolean isDefaultWebsite()
        Returns whether this website is the default website.

        The default website is used to respond to requests that did not match the base URLs of any website.

        Specified by:
        isDefaultWebsite in interface IWebsite
        Returns:
        true if this website is the default website, false otherwise.
        Since:
        6.2.0
      • isForceMainURLsNavigation

        public boolean isForceMainURLsNavigation()
        Returns whether this website forces the navigation to occur on its main base URLs, instead of on its additional base URLs.

        When this property is enabled, this website redirects requests targeting the additional base URLs to the main base URLs.

        Specified by:
        isForceMainURLsNavigation in interface IWebsite
        Returns:
        true if this website forces the navigation to occurs on its main base URLs, false otherwise.
        Since:
        6.2.0
      • setForceMainURLsNavigation

        public void setForceMainURLsNavigation​(boolean forceMainURLsNavigation)
        Sets whether this website forces the navigation to occur on its main base URLs, instead of on its additional base URLs.

        When this property is enabled, this website redirects requests targeting the additional base URLs to the main base URLs.

        Parameters:
        forceMainURLsNavigation - true if this website forces the navigation to occurs on its main base URLs, false otherwise.
        Since:
        6.2.0
      • getPriority

        public int getPriority()
        Returns the priority of this website for detecting which website responds to a request.

        The websites with lower priority are checked first if they matches a request. If more than one website would match a request, the website with lower priority value will be used.

        Returns:
        the priority of this website.
        Since:
        6.2.0
      • setPriority

        public void setPriority​(int priority)
                         throws PortalException
        Sets the priority for this website.

        The priority values of all websites are adjusted so they start in 1 and are sequential numbers. If there is another website with the same priority as the specified value, that website will have a priority higher than this one.

        If this website is transient, the priority adjustments are only applied when this website is persisted.

        Parameters:
        priority - the priority for this website.
        Throws:
        PortalException - if some error occur in websites reorderign.
        Since:
        6.2.0
        See Also:
        getPriority()
      • getGoogleAnalyticsAPIKey

        public java.lang.String getGoogleAnalyticsAPIKey()
        Description copied from interface: IWebsitesSPI
        Returns the Google Analytics API access key.
        Specified by:
        getGoogleAnalyticsAPIKey in interface IWebsitesSPI
        Returns:
        the Google Analytics API access key.
      • setGoogleAnalyticsAPIKey

        public void setGoogleAnalyticsAPIKey​(java.lang.String googleAnalyticsAPIKey)
        Sets the googleAnalyticsAPIKey.
        Parameters:
        googleAnalyticsAPIKey - the googleAnalyticsAPIKey value to set.
        Since:
        8.2.0
      • getMainNonSecureBaseURL

        public IWebsiteMainBaseURL getMainNonSecureBaseURL()
        Returns the main non-secure base URL of this website.

        This base URL is used to generate absolute non-secure (HTTP) URLs to this website.

        Specified by:
        getMainNonSecureBaseURL in interface IWebsite
        Returns:
        the main non-secure base URL of this website.
        Since:
        6.2.0
      • setMainNonSecureBaseURL

        public void setMainNonSecureBaseURL​(java.lang.String domain,
                                            int port,
                                            java.lang.String path)
                                     throws PortalException
        Sets the main non-secure base URL of this website.

        This base URL is used to generate absolute non-secure (HTTP) URLs to this website.

        Parameters:
        domain - the domain of the base URL. Example: www.mysite.com
        port - the port of the base URL.
        path - the path of the base URL, to be appended to the portal web application context path. null indicates to append nothing. If specified, must start with '/' and must not end with '/'. Example: /my/path
        Throws:
        java.lang.IllegalArgumentException - if domain is null or port is non-positive.
        PortalException - if path doesn't start with '/', path ends with '/', or the URL is non-unique.
        Since:
        6.2.0
      • getMainSecureBaseURL

        public IWebsiteMainBaseURL getMainSecureBaseURL()
        Returns the main secure base URL of this website.

        This base URL is used to generate absolute secure (HTTPS) URLs to this website.

        Specified by:
        getMainSecureBaseURL in interface IWebsite
        Returns:
        the main secure base URL of this website.
        Since:
        6.2.0
      • setMainSecureBaseURL

        public void setMainSecureBaseURL​(java.lang.String domain,
                                         int port,
                                         java.lang.String path)
                                  throws PortalException
        Sets the main secure base URL of this website.

        This base URL is used to generate absolute secure (HTTPS) URLs to this website.

        Parameters:
        domain - the domain of the base URL. Example: www.mysite.com
        port - the port of the base URL.
        path - the path of the base URL, to be appended to the portal web application context path. null indicates to append nothing. If specified, must start with '/' and must not end with '/'. Example: /my/path
        Throws:
        java.lang.IllegalArgumentException - if domain is null or port is non-positive.
        PortalException - if path doesn't start with '/', path ends with '/', or the URL is non-unique.
        Since:
        6.2.0
      • getAdditionalBaseURLs

        public java.util.Collection<IWebsiteBaseURL> getAdditionalBaseURLs()
        Returns the additional base URLs of this web site.

        The main base URLs are not included in the returned collection.

        Specified by:
        getAdditionalBaseURLs in interface IWebsite
        Returns:
        a unmodifiable collection containing the persistent additional base URLs of this website. It may not reflect changes done in the additional base URLs present in this website after it is obtained. If this website has no additional base URL, an empty collection is returned.
        Since:
        6.2.0
      • addAdditionalBaseURL

        public void addAdditionalBaseURL​(java.lang.String domain,
                                         int port,
                                         java.lang.String path)
                                  throws PortalException
        Adds an additional base URL for this website.
        Parameters:
        domain - the domain of the base URL. Example: www.mysite.com
        port - the port of the base URL.
        path - the path of the base URL, to be appended to the portal web application context path. null indicates to append nothing. If specified, must start with '/' and must not end with '/'. Example: /my/path
        Throws:
        java.lang.IllegalArgumentException - if domain is null or port is non-positive.
        PortalException - if path doesn't start with '/', path ends with '/', or the URL is non-unique.
        Since:
        6.2.0
      • addAdditionalBaseURL

        public void addAdditionalBaseURL​(java.lang.String domain,
                                         int port,
                                         java.lang.String path,
                                         boolean checkURLUnique)
                                  throws PortalException
        Adds an additional base URL for this website.
        Parameters:
        domain - the domain of the base URL. Example: www.mysite.com
        port - the port of the base URL.
        path - the path of the base URL, to be appended to the portal web application context path. null indicates to append nothing. If specified, must start with '/' and must not end with '/'. Example: /my/path
        checkURLUnique - true to check if the URL is unique.
        Throws:
        java.lang.IllegalArgumentException - if domain is null or port is non-positive.
        PortalException - if path doesn't start with '/', path ends with '/', or the URL is non-unique.
        Since:
        6.2.0
      • updateWebsiteBaseURL

        public void updateWebsiteBaseURL​(IWebsiteBaseURL baseURL,
                                         java.lang.String domain,
                                         int port,
                                         java.lang.String path)
                                  throws PortalException
        Updates the given base URL with the given parameters.
        Parameters:
        baseURL - the base URL.
        domain - the domain.
        port - the port.
        path - the path.
        Throws:
        PortalException
        Since:
        7.0.0
      • removeAdditionalBaseURL

        public void removeAdditionalBaseURL​(IWebsiteBaseURL url)
                                     throws PortalException
        Removes an additional base URL from this website.
        Parameters:
        url - the additional base URL to be removed. It must have been obtained using getAdditionalBaseURLs().
        Throws:
        PortalException - if the given additional base URL is in use by a page link
        Since:
        6.2.0
      • unmodifiable

        public IWebsite unmodifiable()
        Returns an unmodifiable copy of this website.
        Returns:
        an unmodifiable copy of this website.
        Since:
        6.2.0
      • clone

        public Website clone()
        Overrides:
        clone in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getGoogleMapsAPIKey

        public java.lang.String getGoogleMapsAPIKey()
        Description copied from interface: IWebsitesSPI
        Returns the Google Maps API access key.
        Specified by:
        getGoogleMapsAPIKey in interface IWebsitesSPI
        Returns:
        the Google Maps API access key.
      • setGoogleMapsAPIKey

        public void setGoogleMapsAPIKey​(java.lang.String googleMapsAPIKey)