Class ContentHelper

    • Field Detail

      • ROLE

        public static final String ROLE
        The component role.
    • Method Detail

      • addContentType

        public Map<String,​ObjectaddContentType​(String contentId,
                                                       String contentTypeId,
                                                       int actionId)
                                                throws AmetysRepositoryException,
                                                       com.opensymphony.workflow.WorkflowException
        Add a content type to an existing content
        Parameters:
        contentId - The content id
        contentTypeId - The content type to add
        actionId - The workflow action id
        Returns:
        The result in a Map
        Throws:
        com.opensymphony.workflow.WorkflowException - if
        AmetysRepositoryException - if an error occurred
      • removeContentType

        public Map<String,​ObjectremoveContentType​(String contentId,
                                                          String contentTypeId,
                                                          int actionId)
                                                   throws AmetysRepositoryException,
                                                          com.opensymphony.workflow.WorkflowException
        Remove a content type to an existing content
        Parameters:
        contentId - The content id
        contentTypeId - The content type to add
        actionId - The workflow action id
        Returns:
        The result in a Map
        Throws:
        com.opensymphony.workflow.WorkflowException - if
        AmetysRepositoryException - if an error occurred
      • addMixinType

        public Map<String,​ObjectaddMixinType​(String contentId,
                                                     String mixinId,
                                                     int actionId)
                                              throws AmetysRepositoryException,
                                                     com.opensymphony.workflow.WorkflowException
        Add a mixin type to an existing content
        Parameters:
        contentId - The content id
        mixinId - The mixin type to add
        actionId - The workflow action id
        Returns:
        The result in a Map
        Throws:
        com.opensymphony.workflow.WorkflowException - if
        AmetysRepositoryException - if an error occurred
      • removeMixinType

        public Map<String,​ObjectremoveMixinType​(String contentId,
                                                        String mixinId,
                                                        int actionId)
                                                 throws AmetysRepositoryException,
                                                        com.opensymphony.workflow.WorkflowException
        Remove a mixin type to an existing content
        Parameters:
        contentId - The content id
        mixinId - The mixin type to add
        actionId - The workflow action id
        Returns:
        The result in a Map
        Throws:
        com.opensymphony.workflow.WorkflowException - if
        AmetysRepositoryException - if an error occurred
      • hasIndexingReferences

        public boolean hasIndexingReferences​(Content content)
        Test if the given content has indexing references, i.e. if modifying it potentially implies reindexing other contents.
        Parameters:
        content - the content to test.
        Returns:
        true if one of the content types or mixins has indexing references, false otherwise.
      • getContentAttributeDefinitionsAsJSON

        public Map<String,​ObjectgetContentAttributeDefinitionsAsJSON​(String contentId,
                                                                             boolean isEdition)
                                                                      throws ProcessingException
        Converts the content attribute definitions in a JSON Map
        Parameters:
        contentId - the content identifier
        isEdition - true if the JSON result is used for edition purposes (configure a form panel, ...) false otherwise
        Returns:
        the content attribute definitions as a JSON Map
        Throws:
        ProcessingException - if an error occurs when converting the definitions
      • getContentAttributeDefinitionsAsJSON

        public Map<String,​ObjectgetContentAttributeDefinitionsAsJSON​(String contentId,
                                                                             List<String> attibutePaths,
                                                                             boolean isEdition)
                                                                      throws ProcessingException
        Converts the given content attribute definitions in a JSON Map
        Parameters:
        contentId - the content identifier
        attibutePaths - the paths of the attribute definitions to convert
        isEdition - true if the JSON result is used for edition purposes (configure a form panel, ...) false otherwise
        Returns:
        the content attribute definitions as a JSON Map
        Throws:
        ProcessingException - if an error occurs when converting the definitions
      • getContentViewAsJSON

        public Map<String,​ObjectgetContentViewAsJSON​(String contentId,
                                                             String viewName,
                                                             String fallbackViewName,
                                                             boolean isEdition)
                                                      throws ProcessingException
        Converts the content view with the given name in a JSON Map
        Parameters:
        contentId - the content identifier
        viewName - the name of the view to convert
        fallbackViewName - the name of the view to convert if the initial was not found. Can be null.
        isEdition - true if the JSON result is used for edition purposes (configure a form panel, ...) false otherwise
        Returns:
        the view as a JSON Map
        Throws:
        ProcessingException - if an error occurs when converting the view
      • getContentTypes

        public Collection<ContentTypegetContentTypes​(Content content,
                                                       boolean includeMixins)
        Retrieves a Collection containing content types of the given content
        Parameters:
        content - the content
        includeMixins - true to retrieve the mixins the the collection, false otherwise
        Returns:
        content types of the content
      • getUnknownContentTypeIds

        public List<StringgetUnknownContentTypeIds​(Content content)
        Determines if the given content has some of its types that are unknown (the extension does not exist)
        Parameters:
        content - the content
        Returns:
        true if at least one of the types of the content is unknown, false otherwise
      • getUnknownContentTypeIds

        public List<StringgetUnknownContentTypeIds​(Content content,
                                                     boolean checkMixins)
        Determines if the given content has some of its types that are unknown (the extension does not exist)
        Parameters:
        content - the content
        checkMixins - true to check unknown content types in mixin types
        Returns:
        true if at least one of the types of the content is unknown, false otherwise
      • isReferenceTable

        public boolean isReferenceTable​(Content content)
        Determines if the content is a reference table content type
        Parameters:
        content - The content
        Returns:
        true if content is a reference table
      • isMultilingual

        public boolean isMultilingual​(Content content)
        Determines if a content is a multilingual content
        Parameters:
        content - The content
        Returns:
        true if the content is an instance of content type
      • isSimple

        public boolean isSimple​(Content content)
        Determines if the content is a simple content type
        Parameters:
        content - The content
        Returns:
        true if content is simple
      • isArchivedContent

        public boolean isArchivedContent​(Content content)
        Determines if the content is archived
        Parameters:
        content - the content
        Returns:
        true if the content is archived
      • getValue

        public Object getValue​(Content content,
                               String fieldPath)
        Get the typed value(s) of a content at given path. The path can represent a system property id or a path of an attribute into the content or an attribute on one or more linked contents, such as 'composite/linkedContent/secondContent/composite/attribute'. The returned value is typed.
        Parameters:
        content - The content
        fieldPath - The field id or the path to the attribute, separated by '/'
        Returns:
        The typed final value(s). If the final field is multiple, or contained into a repeater or multiple 'CONTENT' attribute, the returned value will be a Collection
      • getTargetContent

        public Content getTargetContent​(Content sourceContent,
                                        String fieldPath)
        Get the content from which to get the system property.
        Parameters:
        sourceContent - The source content.
        fieldPath - The field path
        Returns:
        The target content.
      • getTargetContents

        public List<ContentgetTargetContents​(Content sourceContent,
                                               String fieldPath)
        Get the contents from which to get the system property.
        Parameters:
        sourceContent - The source content.
        fieldPath - The field path
        Returns:
        The target contents.
      • getTitle

        public String getTitle​(Content content)
        Get the title of a content.<br> If the content is a multilingual content, the title will be retrieved for the current locale if exists, or for default locale 'en' if exists, or for the first found locale.
        Parameters:
        content - The content
        Returns:
        The title of the content
      • hasReferencingContents

        public boolean hasReferencingContents​(Content content,
                                              List<String> ignoreContentTypes,
                                              boolean includeSubTypes)
        Determines if the content has referencing contents other than whose type is in content types to ignore.
        Parameters:
        content - The content to check
        ignoreContentTypes - The content types to ignore for referencing contents
        includeSubTypes - True if sub content types are take into account in ignore content types
        Returns:
        true if there is at least one Content referencing the content
      • getReferencingContents

        public List<Pair<String,​Content>> getReferencingContents​(Content content)
        Returns all Contents referencing the given content with their value path
        Parameters:
        content - The content to get references
        Returns:
        the list of pair path / contents