Class AmetysXSLTHelper

    • Method Detail

      • uriPrefix

        public static String uriPrefix()
        Returns the current URI prefix, depending on the rendering context.
        Returns:
        the current URI prefix.
      • siteUriPrefix

        public static String siteUriPrefix()
        Returns the URI prefix corresponding to the current site, depending on the rendering context.
        Returns:
        the URI prefix corresponding to the current site.
      • absoluteUriPrefix

        public static String absoluteUriPrefix()
        Returns the absolute URI prefix, depending on the rendering context.
        Returns:
        the absolute URI prefix.
      • absoluteSiteUriPrefix

        public static String absoluteSiteUriPrefix()
        Returns the absolute URI prefix corresponding to the current site, depending on the rendering context.
        Returns:
        the absolute URI prefix corresponding to the current site.
      • absoluteSiteUriPrefix

        public static String absoluteSiteUriPrefix​(String siteName)
        Returns the absolute URI prefix corresponding to the given site, depending on the rendering context.
        Parameters:
        siteName - The site name. Can be null to get the current site.
        Returns:
        the absolute URI prefix corresponding to the current site.
      • skin

        public static String skin()
        Returns the current skin name.
        Returns:
        the current skin name.
      • template

        public static String template()
        Returns the current template name.
        Returns:
        the current template name.
      • lang

        public static String lang()
        Returns the current sitemap name.
        Returns:
        the current sitemap name.
      • lang

        public static String lang​(String pageId)
        Returns the current sitemap name.
        Parameters:
        pageId - The page identifier to get sitemap on
        Returns:
        the current sitemap name.
      • skinURL

        public static String skinURL​(String path)
        Computes the URI for the given resource in the current site's skin.
        If the URI is requested by the front-office, it will be absolutized.
        Parameters:
        path - the resource path.
        Returns:
        the URI for the given resource.
      • skinImageURL

        public static String skinImageURL​(String path,
                                          int height,
                                          int width)
        Computes the URI for the given image with a given heigth and width in the current site's skin.
        If the URI is requested by the front-office, it will be absolutized.
        Parameters:
        path - the resource path
        height - the height for the resource to get
        width - the width for the resource to get
        Returns:
        the URI of the given resource
      • skinImageBase64

        public static String skinImageBase64​(String path)
                                      throws IOException
        Computes the base 64 representation of the image at the specified path.
        Parameters:
        path - the path of the image
        Returns:
        the base 64-encoded image
        Throws:
        IOException - if an error occurs while trying to get the file
      • skinBoundedImageURL

        public static String skinBoundedImageURL​(String path,
                                                 int maxHeight,
                                                 int maxWidth)
        Computes the URI for the given image with a given heigth and width in the current site's skin.
        If the URI is requested by the front-office, it will be absolutized.
        Parameters:
        path - the resource path
        maxHeight - the maximum height for the resource to get
        maxWidth - the maximum width for the resource to get
        Returns:
        the URI of the given resource
      • templateURL

        public static String templateURL​(String path)
        Computes the URI for the given resource in the current template.
        If the URI is requested by the front-office, it will be absolutized.
        Parameters:
        path - the resource path.
        Returns:
        the URI for the given resource.
      • pluginResourceURL

        public static String pluginResourceURL​(String plugin,
                                               String path)
        Computes the URI for the given resource in the given plugin.
        If the URI is requested by the front-office, it will be absolutized.
        Parameters:
        plugin - the plugin name.
        path - the resource path.
        Returns:
        the URI for the given resource.
      • _getResourceBase64

        private static String _getResourceBase64​(Source source)
        Get the base 64 encoding for the given source
        Parameters:
        source - the source
        Returns:
        the base 64 encoding of the source
      • zone

        public static String zone​(String defaultValue)
        Return the name of the zone beeing handled
        Parameters:
        defaultValue - If no page is handled currently, this value is returned (can be null, empty...)
        Returns:
        the name or the default value (so can be null or empty)
      • siteParameter

        public static String siteParameter​(String parameter)
        Return the value of a site parameter as a String.
        Parameters:
        parameter - the parameter ID.
        Returns:
        the parameter value as a String.
      • siteParameter

        public static String siteParameter​(String siteName,
                                           String parameter)
        Return the value of a site parameter as a String.
        Parameters:
        siteName - the site name
        parameter - the parameter ID.
        Returns:
        the parameter value as a String.
      • serviceParameter

        public static Node serviceParameter​(String parameterPath)
        Returns the value of the given parameter for the current service, or the empty string if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current service.
      • serviceParameter

        public static Node serviceParameter​(String parameterPath,
                                            Object defaultValue)
        Returns the value of the given parameter for the current service, or the provided default value if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        defaultValue - the default value. Note that default value is ignored if the parameter is a composite parameter.
        Returns:
        the value of the given parameter for the current service.
      • site

        public static String site()
        Returns the current site
        Returns:
        the current site
      • site

        public static String site​(String pageId)
        Returns the current site
        Parameters:
        pageId - The identifier ot the page
        Returns:
        the current site
      • sitemap

        @Deprecated
        public static Node sitemap()
        Deprecated.
        Use the version with depth argument
        Return the current sitemap as a Node. Invisible pages will not be displayed
        Returns:
        the current sitemap.
      • sitemap

        public static Node sitemap​(long depth)
        Return the current sitemap as a Node. Invisible pages will not be displayed
        Parameters:
        depth - The depth to get. 1 for root pages, -1 for infinite.
        Returns:
        the current sitemap.
      • sitemap

        @Deprecated
        public static Node sitemap​(boolean includeInvisiblePages)
        Deprecated.
        Use the version with depth argument
        Return the current sitemap as a Node.
        Parameters:
        includeInvisiblePages - Should return child invisible pages
        Returns:
        the current sitemap.
      • sitemap

        public static Node sitemap​(long depth,
                                   boolean includeInvisiblePages)
        Return the current sitemap as a Node.
        Parameters:
        depth - The depth to get. 1 for root pages, -1 for infinite.
        includeInvisiblePages - Should return child invisible pages
        Returns:
        the current sitemap.
      • sitemap

        @Deprecated
        public static Node sitemap​(String pageId)
        Deprecated.
        Use the version with depth argument
        Return the subsitemap of the given page as a Node. Invisible child pages will not be returned;
        Parameters:
        pageId - The root page
        Returns:
        The page as node.
      • sitemap

        public static Node sitemap​(String pageId,
                                   long depth)
        Return the subsitemap of the given page as a Node. Invisible child pages will not be returned;
        Parameters:
        pageId - The root page
        depth - The depth to get. 0 for the root page only, 1 for its child pages, -1 for infinite child pages.
        Returns:
        The page as node.
      • sitemap

        public static Node sitemap​(String pageId,
                                   boolean includeInvisiblePages)
        Return the subsitemap of the given page as a Node.
        Parameters:
        pageId - The root page
        includeInvisiblePages - Should return child invisible pages
        Returns:
        The page as node.
      • sitemap

        public static Node sitemap​(String pageId,
                                   long depth,
                                   boolean includeInvisiblePages)
        Return the subsitemap of the given page as a Node.
        Parameters:
        pageId - The root page
        depth - The depth to get. 0 for the root page only, 1 for its child pages, -1 for infinite child pages.
        includeInvisiblePages - Should return child invisible pages
        Returns:
        The page as node.
      • breadcrumb

        public static NodeList breadcrumb()
        Computes the breadcrumb of the current page.
        Returns:
        a NodeList containing all ancestor pages, rooted at the sitemap.
      • resourcesById

        public static Node resourcesById​(String collectionId)
        Returns a DOM Element representing files and folder of the resources explorer, under the ResourceCollection corresponding to the given id.
        Parameters:
        collectionId - the id of the root ResourceCollection.
        Returns:
        an Element containing files and folders.
      • resourcesByPath

        public static Node resourcesByPath​(String path)
        Returns a DOM Element representing files and folder of the resources explorer, under the ResourceCollection corresponding to the given path.
        This path is intended to be relative to the current site's resource explorer.
        Parameters:
        path - the path of the root ResourceCollection, relative to the current site's resource explorer.
        Returns:
        an Element containing files and folders or null if the specified resource does not exist.
      • resourceByPath

        public static Node resourceByPath​(String path)
        Returns a DOM Element representing a single file of the resources explorer.
        This path is intended to be relative to the current site's resource explorer.
        Parameters:
        path - the path of the Resource, relative to the current site's resource explorer.
        Returns:
        an Element containing a file or null if the specified resource does not exist.
      • skinResources

        public static Node skinResources​(String path)
                                  throws IOException
        Returns a DOM Element representing files and folder of a skin directory.
        This path is intended to be relative to the current skin's 'resources' directory.
        Parameters:
        path - the path of the root ResourceCollection, relative to the current skin's 'resources' directory. Can be a file path to test its existance.
        Returns:
        an Element containing files and folders. node name is 'collection' or 'resource' with an attribute 'name'. Return null if the path does not exits.
        Throws:
        IOException - if an error occurred while listing files.
      • pageSiteName

        public static String pageSiteName​(String pageId)
        Get the site name of a page.
        Parameters:
        pageId - The page id.
        Returns:
        The name or empty if the page does not exist.
      • pageTitle

        public static String pageTitle​(String sitename,
                                       String lang,
                                       String path)
        Get the title of a page.
        Parameters:
        sitename - the site name.
        lang - the sitemap name.
        path - the page path.
        Returns:
        The name or empty if the meta or the page does not exist.
      • pageExists

        public static boolean pageExists​(String sitename,
                                         String lang,
                                         String path)
        Determines if page exists
        Parameters:
        sitename - the site name.
        lang - the sitemap name.
        path - the page path.
        Returns:
        false the page does not exist.
      • pageTitle

        public static String pageTitle​(String pageId)
        Get the title of a page.
        Parameters:
        pageId - The page id.
        Returns:
        The name or empty if the meta or the page does not exist.
      • pageLongTitle

        public static String pageLongTitle​(String sitename,
                                           String lang,
                                           String path)
        Get the long title of a page
        Parameters:
        sitename - the site name
        lang - the page's language
        path - the page's path
        Returns:
        The name or empty if the meta or the page does not exist
      • pageLongTitle

        public static String pageLongTitle​(String pageId)
        Get the long title of a page
        Parameters:
        pageId - The page id
        Returns:
        The name or empty if the meta or the page does not exist
      • pageType

        public static String pageType​(String pageId)
        Get the type of a page.
        Parameters:
        pageId - The page id.
        Returns:
        The type or empty if the page does not exist.
      • pageUrl

        public static String pageUrl​(String pageId)
        Get the linked url of a page.
        Parameters:
        pageId - The page id.
        Returns:
        The linked url or empty if the page does not exist or if it is not a LINK page
      • pageUrlType

        public static String pageUrlType​(String pageId)
        Get the linked URL type of a page.
        Parameters:
        pageId - The page id.
        Returns:
        The linked URL type or empty if the page does not exist or if it is not a LINK page
      • pageMetadata

        public static String pageMetadata​(String sitename,
                                          String lang,
                                          String path,
                                          String dataPath)
        Get the data of a page at the given path
        Parameters:
        sitename - the site name
        lang - the page's language
        path - the page's path
        dataPath - The data path (use '/' as separator for composites and repeaters)
        Returns:
        The value or empty if the data or the page does not exist
      • pageMetadata

        public static String pageMetadata​(String pageId,
                                          String dataPath)
        Get the data of a page at the given path
        Parameters:
        pageId - The page id
        dataPath - The data path (use '/' as separator for composites and repeaters)
        Returns:
        The value or empty if the data or the page does not exist
      • pageIsVisible

        public static boolean pageIsVisible​(String pageId)
        Returns true if the given page is visible into navigation elements
        Parameters:
        pageId - the page id.
        Returns:
        true if the page is visible
      • pageIsVisible

        public static boolean pageIsVisible​(String sitename,
                                            String lang,
                                            String path)
        Returns true if the given page is visible into navigation elements
        Parameters:
        sitename - the site name
        lang - the page's language
        path - the page's path
        Returns:
        true if the page is visible
      • pageHasRestrictedAccess

        public static boolean pageHasRestrictedAccess​(String pageId)
        Returns true if the given page has restricted access.
        Parameters:
        pageId - the page id.
        Returns:
        true if the page exists and has restricted access.
      • hasReadAccessOnPage

        public static boolean hasReadAccessOnPage​(String pageId)
        Returns true if the current user has read access on the specified page
        Parameters:
        pageId - Page Id
        Returns:
        true if the current user has read access on the specified page
      • hasRightOnPage

        public static boolean hasRightOnPage​(String rightId)
        Returns true if the current user has the specified right on the current page
        Parameters:
        rightId - Right Id
        Returns:
        true if the current user has the specified right on the current page
      • hasRightOnPage

        public static boolean hasRightOnPage​(String rightId,
                                             String pageId)
        Returns true if the current user has the specified right on the specified page
        Parameters:
        rightId - Right Id
        pageId - Page Id
        Returns:
        true if the current user has the specified right on the specified page
      • _hasRightOnPage

        private static boolean _hasRightOnPage​(String rightId,
                                               Page page)
        Returns true if the current user has the specified right on the specified page
        Parameters:
        rightId - Right Id
        page - Page
        Returns:
        true if the current user has the specified right on the specified page
      • pageHasRestrictedAccess

        public static boolean pageHasRestrictedAccess​(String sitename,
                                                      String lang,
                                                      String path)
        Returns true if the given page has restricted access.
        Parameters:
        sitename - the site name
        lang - the page's language
        path - the page's path
        Returns:
        true if the page exists and has restricted access.
      • pagePath

        public static String pagePath()
        Returns the path of the current page, relative to the sitemap's root.
        Returns:
        the path of the current Page, or empty if there's no current page.
      • pagePath

        public static String pagePath​(String pageId)
        Returns the path in sitemap of a page
        Parameters:
        pageId - The id of page
        Returns:
        the path of the Page, or empty if not exists
      • pageId

        public static String pageId()
        Returns the id of the current page.
        Returns:
        the id of the current Page, or empty if there's no current page.
      • zoneItemId

        public static String zoneItemId()
        Returns the id of the current zone item id.
        Returns:
        the id of the current zone item id, or empty if there's no current zone item.
      • isCacheable

        public static boolean isCacheable()
        Determines if the current zone item or (if there is no current zone item) the current page is cacheable This method is only valid for a page.
        Returns:
        true if the current zone item or page is cacheable.
      • isEditionMode

        public static boolean isEditionMode()
        Determines if we are in an edition mode
        Returns:
        true if we are in edition mode
      • accessibleReferencedPages

        public static NodeList accessibleReferencedPages​(String contentId)
        Returns the id of pages referencing the content and for which the Front-office user can access
        Parameters:
        contentId - The content's id
        Returns:
        The pages' id
      • referencedPages

        public static NodeList referencedPages​(String contentId)
        Returns the id of pages referencing the content
        Parameters:
        contentId - The content's id
        Returns:
        The pages' id
      • findContentsIdsByTag

        public static NodeList findContentsIdsByTag​(String tag)
        Returns the ids of the contents
        Parameters:
        tag - The tag id
        Returns:
        Array of contents ids
      • findContentsIdsByTag

        public static NodeList findContentsIdsByTag​(String sitename,
                                                    String lang,
                                                    String tag)
        Returns the ids of the contents
        Parameters:
        sitename - site name. '+' for any site, '*'/null for any site, including contents without site, '^' for only contents without site
        lang - lang of the contents
        tag - The tag id
        Returns:
        Array of contents ids
      • findPagesIdsByTag

        public static NodeList findPagesIdsByTag​(String sitename,
                                                 String lang,
                                                 String tag)
        Returns the ids of the pages tagged with the specified tag
        Parameters:
        sitename - The site id
        lang - The language code
        tag - The tag id
        Returns:
        Array of pages ids
      • findPagesIdsByTag

        public static NodeList findPagesIdsByTag​(String sitename,
                                                 String lang,
                                                 String tag,
                                                 boolean checkReadAccess)
        Returns the ids of the pages tagged with the specified tag
        Parameters:
        sitename - The site id
        lang - The language code
        tag - The tag id
        checkReadAccess - true to return only pages with read access for current user
        Returns:
        Array of pages ids
      • findPagesIdsByTag

        public static NodeList findPagesIdsByTag​(String tag)
        Returns the ids of the pages tagged with the specified tag
        Parameters:
        tag - The tag id
        Returns:
        Array of pages ids
      • findPagesIdsByTag

        public static NodeList findPagesIdsByTag​(String tag,
                                                 boolean checkReadAccess)
        Returns the ids of the pages tagged with the specified tag
        Parameters:
        tag - The tag id
        checkReadAccess - true to return only pages with read access for current user
        Returns:
        Array of pages ids
      • userByMail

        public static Node userByMail​(String email)
                               throws SAXException
        Return the given user by its email over all authorized population on current site
        Parameters:
        email - the concerned user's email
        Returns:
        The informations about the given user
        Throws:
        SAXException - If an error occurred while saxing the user
      • urlPreview

        public static Node urlPreview​(String url)
                               throws SAXException
        Get the preview of a url (title, description, image, favico)
        Parameters:
        url - the web link
        Returns:
        the url preview
        Throws:
        SAXException - If an error occurred while saxing
      • pagination

        public static AmetysNodeList pagination​(int nbPages,
                                                int currentPage,
                                                int nbFirstPages,
                                                int nbCentralPages,
                                                int nbLastPages)
        Generates a XML structure to help to creates a complex pagination.

        Example: pagination(39, 19, 2, 5, 2) will return
           <gotofirstpage enabled="true">1</gotofirstpage>
           <gotopreviouspage enabled="true">18</gotopreviouspage>
           <page>1</page>
           <page>2</page>
           <separator/>
           <page>17</page>
           <page>18</page>
           <current>19</current>
           <page>20</page>
           <page>21</page>
           <separator/>
           <page>38</page>
           <page>39</page>
           <gotonextpage enabled="true">20</gotonextpage>
           <gotolastpage enabled="true">39</gotonextpage>
         
        Example: pagination(5, 2, 2, 5, 2) will return
           <gotofirstpage enabled="true">1</gotofirstpage>
           <gotopreviouspage enabled="true">1</gotopreviouspage>
           <page>1</page>
           <current>2</page>
           <page>3</page>
           <page>4</page>
           <page>5</page>
           <space/>
           <space/>
           <space/>
           <space/>
           <gotonextpage enabled="true">3</gotonextpage>
           <gotolastpage enabled="true">5</gotonextpage>
         
        Parameters:
        nbPages - The total number of pages
        currentPage - The currently displayed page (1 based)
        nbFirstPages - The max number of pages to display before the 1st separator
        nbCentralPages - The max number of pages to display around the current page
        nbLastPages - The max number of pages to display after the 2nd separator
        Returns:
        The xml described
      • _pagination

        static int[] _pagination​(int nbPages,
                                 int currentPage,
                                 int nbFirstPages,
                                 int nbCentralPages,
                                 int nbLastPages)
      • _paginationMiddle

        private static int _paginationMiddle​(int nbPages,
                                             int currentPage,
                                             int nbFirstPages,
                                             int nbCentralPages,
                                             int[] values,
                                             int cursorP,
                                             int offset)
      • _paginationComputeOffsetAfterFirstSeparator

        private static int _paginationComputeOffsetAfterFirstSeparator​(int nbPages,
                                                                       int currentPage,
                                                                       int nbCentralPages,
                                                                       int nbLastPages,
                                                                       int centerOfCentralPages,
                                                                       boolean firstSeparator,
                                                                       boolean secondSeparator,
                                                                       int cursor)
      • _paginationLastPages

        private static int _paginationLastPages​(int nbPages,
                                                int currentPage,
                                                int displayedPages,
                                                int[] values,
                                                int cursorP,
                                                int offset)
      • _paginationSecondSeparator

        private static int _paginationSecondSeparator​(int nbPages,
                                                      boolean secondSeparator,
                                                      int currentPage,
                                                      int nbLastPages,
                                                      int[] values,
                                                      int cursor,
                                                      int offset)
      • _paginationFirstSeparator

        private static int _paginationFirstSeparator​(int nbPages,
                                                     boolean firstSeparator,
                                                     int currentPage,
                                                     int[] values,
                                                     int cursor)
      • _paginationFirstPages

        private static int _paginationFirstPages​(int nbPages,
                                                 int nbFirstPages,
                                                 int currentPage,
                                                 int[] values,
                                                 int cursorP)
      • templateParameters

        public static NodeList templateParameters()
        Get the parameters' values of the current template
        Returns:
        the values of template's parameters
      • templateParameter

        public static NodeList templateParameter​(String parameterPath)
        Returns the value of the given parameter for the current page template, or the empty node if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current page template.
      • templateParameter

        public static NodeList templateParameter​(String pageId,
                                                 String parameterPath)
        Returns the value of the given parameter for the given page template, or the empty node if the parameter does not exist.
        Parameters:
        pageId - the page id
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the given page template.
      • zoneParameters

        public static NodeList zoneParameters()
        Get the parameters of the current zone
        Returns:
        the zone's parameters
      • zoneParameters

        public static NodeList zoneParameters​(String zoneName)
        Get the parameters of a given zone
        Parameters:
        zoneName - The zone's name. Can be null or empty to get the current zone.
        Returns:
        the zone's parameters
      • zoneParameter

        public static NodeList zoneParameter​(String parameterPath)
        Returns the value of the given parameter for the current page and current zone, or the empty node if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current page and current zone.
      • zoneParameter

        public static NodeList zoneParameter​(String zoneName,
                                             String parameterPath)
        Returns the value of the given parameter for the current page and given zone, or the empty node if the parameter does not exist.
        Parameters:
        zoneName - the zone name
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current page and given zone.
      • zoneParameter

        public static NodeList zoneParameter​(String pageId,
                                             String zoneName,
                                             String parameterPath)
        Returns the value of the given parameter for the given page and given zone name, or the empty node if the parameter does not exist.
        Parameters:
        pageId - the page id
        zoneName - the zone name
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the given page and given zone name.
      • zoneItemParameters

        public static NodeList zoneItemParameters()
        Get the parameters of the current zone item
        Returns:
        the zone items's parameters
      • zoneItemParameters

        public static NodeList zoneItemParameters​(String zoneItemId)
        Get the parameters of a given zone item
        Parameters:
        zoneItemId - The id of zone item. Can be null or empty to get the current zone item
        Returns:
        the zone items's parameters
      • zoneItemParameter

        public static NodeList zoneItemParameter​(String parameterPath)
        Returns the value of the given parameter for the current zone item, or the empty node if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current zone item.
      • zoneItemParameter

        public static NodeList zoneItemParameter​(String zoneItemId,
                                                 String parameterPath)
        Returns the value of the given parameter for the given zone item, or the empty node if the parameter does not exist.
        Parameters:
        zoneItemId - the zone item id
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the given zone item.
      • serviceViewParameters

        public static NodeList serviceViewParameters()
        Get the parameters of the current service
        Returns:
        the service's parameters
      • serviceViewParameter

        public static NodeList serviceViewParameter​(String parameterPath)
        Returns the value of the given parameter for the current service, or the empty node if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current service.
      • contentViewParameters

        public static NodeList contentViewParameters()
        Get the parameters of the current content
        Returns:
        the content's parameters
      • contentViewParameter

        public static NodeList contentViewParameter​(String parameterPath)
        Returns the value of the given parameter for the current content, or the empty node if the parameter does not exist.
        Parameters:
        parameterPath - the parameter path.
        Returns:
        the value of the given parameter for the current content.