Class ContentSaxer

    • Method Detail

      • saxContent

        public void saxContent​(Content content,
                               ContentHandler contentHandler,
                               Locale locale,
                               View view,
                               String tagName,
                               boolean saxWorkflowStep,
                               boolean saxWorkflowInfo,
                               boolean saxLanguageInfo,
                               String attributesTagName)
                        throws SAXException
        Generates SAX events representing a Content.
        When called with a non null tag name, a surrounding element will be generated, along with XML attributes representing the content's metadata (creation/modification/validation dates and authors, ...).
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        locale - the Locale to use for eg. multilingual attributes.
        view - the View or null to select all attributes.
        tagName - the surrounding tag name or null to SAX events without root tag.
        saxWorkflowStep - if true, also produces SAX events for the current workflow step.
        saxWorkflowInfo - if true, also produces SAX events for detailed information about the current workflow step.
        saxLanguageInfo - if true, also produces SAX events for detailed information about the content language.
        attributesTagName - the name of the tag surrounding attributes. Used for legacy purposes.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxBody

        protected void saxBody​(Content content,
                               ContentHandler contentHandler,
                               Locale locale,
                               View view,
                               String tagName,
                               boolean saxWorkflowStep,
                               boolean saxWorkflowInfo,
                               boolean saxLanguageInfo,
                               String attributesTagName)
                        throws SAXException
        Generates SAX events for the content data.
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        locale - the Locale to use for eg. multilingual attributes.
        view - the View or null to select all attributes.
        tagName - the surrounding tag name or null to SAX events without root tag.
        saxWorkflowStep - if true, also produces SAX events for the current workflow step.
        saxWorkflowInfo - if true, also produces SAX events for detailed information about the current workflow step.
        saxLanguageInfo - if true, also produces SAX events for detailed information about the content language.
        attributesTagName - the name of the tag surrounding attributes. Used for legacy purposes.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxRootTag

        protected void saxRootTag​(Content content,
                                  ContentHandler contentHandler,
                                  Locale locale,
                                  String tagName)
                           throws SAXException
        Generates a surrounding tag, with content metadata.
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        locale - the Locale to use for eg. multilingual attributes.
        tagName - the surrounding tag name or null to SAX events without root tag.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxAttributes

        protected void saxAttributes​(Content content,
                                     ContentHandler contentHandler,
                                     Locale locale,
                                     View view,
                                     String tagName,
                                     String attributesTagName)
                              throws SAXException
        Generates SAX events for actual content's data.
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        locale - the Locale to use for eg. multilingual attributes.
        view - the View or null to select all attributes.
        tagName - the surrounding tag name or null to SAX events without root tag.
        attributesTagName - the name of the tag surrounding attributes. Used for legacy purposes.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxWorkflowStep

        protected void saxWorkflowStep​(Content content,
                                       ContentHandler contentHandler,
                                       boolean saxWorkflowInfo)
                                throws SAXException
        Generates SAX events representing the current workflow step.
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        saxWorkflowInfo - if true, also produces SAX events for detailed information about the current workflow step.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • getCurrentStep

        protected com.opensymphony.workflow.spi.Step getCurrentStep​(WorkflowAwareContent content,
                                                                    WorkflowProvider.AmetysObjectWorkflow workflow)
                                                             throws com.opensymphony.workflow.WorkflowException
        Get the current workflow step of the content.
        Parameters:
        content - the Content.
        workflow - the associated workflow.
        Returns:
        the current step
        Throws:
        com.opensymphony.workflow.WorkflowException - if somethng got wrong processing workflow data.
      • saxLanguage

        protected void saxLanguage​(Content content,
                                   ContentHandler contentHandler)
                            throws SAXException
        Generates SAX events for the content's language.
        Parameters:
        content - the Content.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxIfNotNull

        protected void saxIfNotNull​(String name,
                                    String value,
                                    ContentHandler contentHandler)
                             throws SAXException
        Send a value if not null.
        Parameters:
        name - the tag name.
        value - the value.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxIfNotNull

        protected void saxIfNotNull​(String name,
                                    String[] values,
                                    ContentHandler contentHandler)
                             throws SAXException
        Send values if not null.
        Parameters:
        name - the tag name.
        values - the values.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxIfNotNull

        protected void saxIfNotNull​(String name,
                                    Date value,
                                    ContentHandler contentHandler)
                             throws SAXException
        Send a value if not null.
        Parameters:
        name - the tag name.
        value - the value.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxComments

        protected void saxComments​(List<Comment> comments,
                                   String elementName,
                                   int level,
                                   ContentHandler contentHandler)
                            throws SAXException
        Generates SAX events for comments.
        Parameters:
        comments - the comments.
        elementName - the tag name.
        level - the comments level.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • saxComment

        protected void saxComment​(Comment comment,
                                  int level,
                                  ContentHandler contentHandler)
                           throws SAXException
        Generates SAX events for a single comment.
        Parameters:
        comment - the comment.
        level - the comment level.
        contentHandler - the ContentHandler receving SAX events.
        Throws:
        SAXException - if an error occurs during the SAX events generation.
      • fillContentComments

        protected void fillContentComments​(CommentableContent content,
                                           Node contentNode)
                                    throws Exception
        Fills the given content with the comments from the provided Node
        Parameters:
        content - The content to fill
        contentNode - the node to read to get the comments' values
        Throws:
        Exception - if an error occurs
      • fillComment

        protected void fillComment​(Comment comment,
                                   Node commentNode)
                            throws Exception
        Fills the given comment with the values from the provided Node
        Parameters:
        comment - The comment to fill
        commentNode - the node to read to get the comment's values
        Throws:
        Exception - if an error occurs
      • fillAttributes

        protected void fillAttributes​(ModifiableContent content,
                                      Node contentNode,
                                      XMLValuesExtractorAdditionalDataGetter additionalDataGetter)
                               throws Exception
        Fills the given content with the attributes from the provided Node
        Parameters:
        content - The content to fill
        contentNode - the node to read to get the attributes
        additionalDataGetter - The object that will retrieve potential additional data for the content's attributes
        Throws:
        Exception - if an error occurs
      • setIfNotNull

        protected <T> void setIfNotNull​(Node node,
                                        String expression,
                                        LambdaUtils.ThrowingFunction<org.apache.xpath.objects.XObject,​T> retriever,
                                        Consumer<T> setter)
                                 throws Exception
        Sets a value through the given setter if the value is not null
        Type Parameters:
        T - The type of the value to set
        Parameters:
        node - The node to read to get the value
        expression - The expression to apply on the node to get the value
        retriever - The Function that will retrieve the typed value from the XObject evaluated from the expression
        setter - The Consumer that will be used to set the value
        Throws:
        Exception - if an error occurs
      • dateValue

        protected Date dateValue​(org.apache.xpath.objects.XObject xObject)
        Consumes an XObject to retrieve the value as a Date
        Parameters:
        xObject - The consumed XObject
        Returns:
        The Date value
      • booleanValue

        protected Boolean booleanValue​(org.apache.xpath.objects.XObject xObject)
        Consumes an XObject to retrieve the value as a Boolean
        Parameters:
        xObject - The consumed XObject
        Returns:
        The Boolean value
      • values

        protected String[] values​(org.apache.xpath.objects.XObject xObject)
                           throws TransformerException
        Consumes an XObject to retrieve the value as a String array
        Parameters:
        xObject - The consumed XObject
        Returns:
        The String array
        Throws:
        TransformerException - if an error occurs