Postprocessors.java
package pro.verron.officestamper.preset;
import pro.verron.officestamper.api.OfficeStamperException;
import pro.verron.officestamper.api.PostProcessor;
import pro.verron.officestamper.preset.postprocessors.cleanendnotes.RemoveOrphanedEndnotesProcessor;
import pro.verron.officestamper.preset.postprocessors.cleanfootnotes.RemoveOrphanedFootnotesProcessor;
/// The Postprocessors class provides static utility methods for obtaining implementations of the
/// [PostProcessor] interface that perform specific post-processing operations on
/// WordprocessingMLPackage documents.
///
/// This class is a utility class and cannot be instantiated.
public class Postprocessors {
private Postprocessors() {
throw new OfficeStamperException("This is a utility class and cannot be instantiated");
}
/// Creates a PostProcessor that removes orphaned footnotes from a WordprocessingMLPackage document.
/// An orphaned footnote is a footnote that is defined in the document but does not have a corresponding
/// reference in the main content. This PostProcessor ensures that such unused footnotes are cleaned up,
/// maintaining the structural integrity of the document.
///
/// @return a PostProcessor instance that performs the removal of orphaned footnotes
public static PostProcessor removeOrphanedFootnotes() {
return new RemoveOrphanedFootnotesProcessor();
}
/// Creates a PostProcessor that removes orphaned endnotes from a WordprocessingMLPackage document.
/// An orphaned endnote is an endnote that is defined in the document but does not have a corresponding
/// reference in the main content. This PostProcessor ensures that such unused endnotes are cleaned up,
/// maintaining the integrity and consistency of the document.
///
/// @return a PostProcessor instance that performs the removal of orphaned endnotes
public static PostProcessor removeOrphanedEndnotes() {
return new RemoveOrphanedEndnotesProcessor();
}
}