java.lang.Object
pro.verron.officestamper.utils.WmlUtils

public final class WmlUtils extends Object
Utility class with methods to help in the interaction with WordprocessingMLPackage documents and their elements, such as comments, parents, and child elements.
  • Method Summary

    Modifier and Type
    Method
    Description
    static List<org.jvnet.jaxb2_commons.ppp.Child>
    extractCommentElements(org.docx4j.openpackaging.packages.WordprocessingMLPackage document)
    Extracts a list of comment elements from the specified WordprocessingMLPackage document.
    static Optional<org.docx4j.wml.Comments.Comment>
    findComment(org.docx4j.openpackaging.packages.WordprocessingMLPackage document, BigInteger id)
     
    static <T> Optional<T>
    getFirstParentWithClass(org.jvnet.jaxb2_commons.ppp.Child child, Class<T> clazz, int depth)
    Attempts to find the first parent of a given child element that is an instance of the specified class within the defined search depth.
    static void
    remove(org.jvnet.jaxb2_commons.ppp.Child child)
    Removes the specified child element from its parent container.
    static boolean
    Checks if the given object is serializable to XML.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getFirstParentWithClass

      public static <T> Optional<T> getFirstParentWithClass(org.jvnet.jaxb2_commons.ppp.Child child, Class<T> clazz, int depth)
      Attempts to find the first parent of a given child element that is an instance of the specified class within the defined search depth.
      Type Parameters:
      T - the type of the parent class to search for
      Parameters:
      child - the child element from which the search for a parent begins.
      clazz - the class type to match for the parent
      depth - the maximum amount levels to traverse up the parent hierarchy
      Returns:
      an Optional containing the first parent matching the specified class, or an empty Optional if no match found.
    • extractCommentElements

      public static List<org.jvnet.jaxb2_commons.ppp.Child> extractCommentElements(org.docx4j.openpackaging.packages.WordprocessingMLPackage document)
      Extracts a list of comment elements from the specified WordprocessingMLPackage document.
      Parameters:
      document - the WordprocessingMLPackage document from which to extract comment elements
      Returns:
      a list of Child objects representing the extracted comment elements
    • findComment

      public static Optional<org.docx4j.wml.Comments.Comment> findComment(org.docx4j.openpackaging.packages.WordprocessingMLPackage document, BigInteger id)
    • remove

      public static void remove(org.jvnet.jaxb2_commons.ppp.Child child)
      Removes the specified child element from its parent container. Depending on the type of the parent element, the removal process is delegated to the appropriate helper method. If the child is contained within a table cell and the cell is empty after removal, an empty paragraph is added to the cell.
      Parameters:
      child - the child element to be removed
      Throws:
      OfficeStamperException - if the parent of the child element is of an unexpected type
    • serializable

      public static boolean serializable(Object object)
      Checks if the given object is serializable to XML.
      Parameters:
      object - the object to be checked for XML serialization
      Returns:
      true if the object can be serialized to XML, false otherwise