Class DiffRowGenerator.Builder

  • Enclosing class:
    DiffRowGenerator

    public static class DiffRowGenerator.Builder
    extends java.lang.Object
    This class used for building the DiffRowGenerator.
    • Field Detail

      • showInlineDiffs

        private boolean showInlineDiffs
      • ignoreWhiteSpaces

        private boolean ignoreWhiteSpaces
      • oldTag

        private java.util.function.BiFunction<DiffRow.Tag,​java.lang.Boolean,​java.lang.String> oldTag
      • newTag

        private java.util.function.BiFunction<DiffRow.Tag,​java.lang.Boolean,​java.lang.String> newTag
      • columnWidth

        private int columnWidth
      • mergeOriginalRevised

        private boolean mergeOriginalRevised
      • reportLinesUnchanged

        private boolean reportLinesUnchanged
      • inlineDiffSplitter

        private java.util.function.Function<java.lang.String,​java.util.List<java.lang.String>> inlineDiffSplitter
      • lineNormalizer

        private java.util.function.Function<java.lang.String,​java.lang.String> lineNormalizer
      • processDiffs

        private java.util.function.Function<java.lang.String,​java.lang.String> processDiffs
      • equalizer

        private java.util.function.BiPredicate<java.lang.String,​java.lang.String> equalizer
      • replaceOriginalLinefeedInChangesWithSpaces

        private boolean replaceOriginalLinefeedInChangesWithSpaces
    • Constructor Detail

      • Builder

        private Builder()
    • Method Detail

      • showInlineDiffs

        public DiffRowGenerator.Builder showInlineDiffs​(boolean val)
        Show inline diffs in generating diff rows or not.
        Parameters:
        val - the value to set. Default: false.
        Returns:
        builder with configured showInlineDiff parameter
      • ignoreWhiteSpaces

        public DiffRowGenerator.Builder ignoreWhiteSpaces​(boolean val)
        Ignore white spaces in generating diff rows or not.
        Parameters:
        val - the value to set. Default: true.
        Returns:
        builder with configured ignoreWhiteSpaces parameter
      • reportLinesUnchanged

        public DiffRowGenerator.Builder reportLinesUnchanged​(boolean val)
        Give the originial old and new text lines to Diffrow without any additional processing and without any tags to highlight the change.
        Parameters:
        val - the value to set. Default: false.
        Returns:
        builder with configured reportLinesUnWrapped parameter
      • oldTag

        public DiffRowGenerator.Builder oldTag​(java.util.function.BiFunction<DiffRow.Tag,​java.lang.Boolean,​java.lang.String> generator)
        Generator for Old-Text-Tags.
        Parameters:
        generator - the tag generator
        Returns:
        builder with configured ignoreBlankLines parameter
      • oldTag

        public DiffRowGenerator.Builder oldTag​(java.util.function.Function<java.lang.Boolean,​java.lang.String> generator)
        Generator for Old-Text-Tags.
        Parameters:
        generator - the tag generator
        Returns:
        builder with configured ignoreBlankLines parameter
      • newTag

        public DiffRowGenerator.Builder newTag​(java.util.function.BiFunction<DiffRow.Tag,​java.lang.Boolean,​java.lang.String> generator)
        Generator for New-Text-Tags.
        Parameters:
        generator -
        Returns:
      • newTag

        public DiffRowGenerator.Builder newTag​(java.util.function.Function<java.lang.Boolean,​java.lang.String> generator)
        Generator for New-Text-Tags.
        Parameters:
        generator -
        Returns:
      • processDiffs

        public DiffRowGenerator.Builder processDiffs​(java.util.function.Function<java.lang.String,​java.lang.String> processDiffs)
        Processor for diffed text parts. Here e.g. whitecharacters could be replaced by something visible.
        Parameters:
        processDiffs -
        Returns:
      • columnWidth

        public DiffRowGenerator.Builder columnWidth​(int width)
        Set the column width of generated lines of original and revised texts.
        Parameters:
        width - the width to set. Making it < 0 doesn't make any sense. Default 80.
        Returns:
        builder with config of column width
      • build

        public DiffRowGenerator build()
        Build the DiffRowGenerator. If some parameters is not set, the default values are used.
        Returns:
        the customized DiffRowGenerator
      • mergeOriginalRevised

        public DiffRowGenerator.Builder mergeOriginalRevised​(boolean mergeOriginalRevised)
        Merge the complete result within the original text. This makes sense for one line display.
        Parameters:
        mergeOriginalRevised -
        Returns:
      • inlineDiffByWord

        public DiffRowGenerator.Builder inlineDiffByWord​(boolean inlineDiffByWord)
        Per default each character is separatly processed. This variant introduces processing by word, which does not deliver in word changes. Therefore the whole word will be tagged as changed:
         false:    (aBa : aba) --  changed: a(B)a : a(b)a
         true:     (aBa : aba) --  changed: (aBa) : (aba)
         
      • inlineDiffBySplitter

        public DiffRowGenerator.Builder inlineDiffBySplitter​(java.util.function.Function<java.lang.String,​java.util.List<java.lang.String>> inlineDiffSplitter)
        To provide some customized splitting a splitter can be provided. Here someone could think about sentence splitter, comma splitter or stuff like that.
        Parameters:
        inlineDiffSplitter -
        Returns:
      • lineNormalizer

        public DiffRowGenerator.Builder lineNormalizer​(java.util.function.Function<java.lang.String,​java.lang.String> lineNormalizer)
        By default DiffRowGenerator preprocesses lines for HTML output. Tabs and special HTML characters like "<" are replaced with its encoded value. To change this you can provide a customized line normalizer here.
        Parameters:
        lineNormalizer -
        Returns:
      • equalizer

        public DiffRowGenerator.Builder equalizer​(java.util.function.BiPredicate<java.lang.String,​java.lang.String> equalizer)
        Provide an equalizer for diff processing.
        Parameters:
        equalizer - equalizer for diff processing.
        Returns:
        builder with configured equalizer parameter
      • replaceOriginalLinefeedInChangesWithSpaces

        public DiffRowGenerator.Builder replaceOriginalLinefeedInChangesWithSpaces​(boolean replace)
        Sometimes it happens that a change contains multiple lines. If there is no correspondence in old and new. To keep the merged line more readable the linefeeds could be replaced by spaces.
        Parameters:
        replace -
        Returns: