Class Modification

java.lang.Object
com.inet.pdfc.generator.model.Modification
All Implemented Interfaces:
Serializable

@JsonData public class Modification extends Object implements Serializable
A Modification is the smallest change description in the differences model of i-net PDFC. It contains a set of subsequent elements which were all modified in the same manner and thus are of the same basic ElementType. 'Subsequent' refers here to left-to-right top-down order which i-net PDFC assumes as reading order. This order might by modified by filter (e.G. the 'multi column' filter), so please mind that this 'reading order' is not necessarily a strict Y-X order!
A modification can span several lines or whole pages. It's only restricted by another modification or a set of matched elements.
Since:
3.0
See Also:
  • Constructor Details

  • Method Details

    • setShouldMerge

      public void setShouldMerge(boolean shouldMerge)
      A flag, for merge the pageElements to one elements
      Parameters:
      shouldMerge - true for merge all pageElements, otherwise false
      Since:
      4.3
    • isShouldPageElementMerge

      public boolean isShouldPageElementMerge()
      A flag, for merge the pageElements to one elements
      Returns:
      true for merge all pageElements, otherwise false
      Since:
      4.3
    • getModificationType

      public Modification.ModificationType getModificationType()
      Returns the type of modification described by this instance
      Returns:
      the type of modification described by this instance
      Since:
      3.0
      See Also:
    • getDifferencePages

      public DifferencePages getDifferencePages(boolean first)
      Return the difference pageNumbers or null if no elements exist for this document
      Parameters:
      first - true for the first document, false
      Returns:
      the difference pageNumbers
      Since:
      4.0
    • getSourceType

      public DiffGroup.GroupType getSourceType()
      Returns DiffGroup.GroupType of the DiffGroup which contains this Modification
      Returns:
      DiffGroup.GroupType of the DiffGroup which contains this Modification
      Since:
      3.0
      See Also:
    • getAffectedElements

      public List<com.inet.pdfc.model.PagedElement> getAffectedElements(boolean first)
      Returns a list of element, affected by this modification in either document
      Parameters:
      first - true to get the effected element in the first document, false for the second document
      Returns:
      a list of affected elements, never null but may be empty
      Since:
      3.0
    • getContentType

      public com.inet.pdfc.model.ElementType getContentType()
      Returns the base type of the elements in this modification. This type can be used as a guideline for the formatter of this modification.
      As a general contract: all effected elements fulfill the condition '
      Returns:
      the base element type of this modification.
      Since:
      3.0
    • getAttributeDifferences

      public List<AttributeDifference<?>> getAttributeDifferences()
      Returns a list of changes which was applied to all affected elements. This method will only return a list if the Modification.ModificationType is Modification.ModificationType.attributeDifference, otherwise it will return null.
      NOTE: Each differnces in the returned list is of a different class. Please have a loot at the com.inet.pdfc.generator.model.diff package for all available types.
      Returns:
      the changes made to the elements, may be null
      Since:
      3.0
    • getAttributeDifference

      public <T extends AttributeDifference<?>> T getAttributeDifference(Class<T> type)
      Returns a certain tyoe of changes which was applied to all affected elements. This method will only return a AttributeDifference if the Modification.ModificationType is Modification.ModificationType.attributeDifference and there is a change of exactly that type, otherwise it will return null.
      Type Parameters:
      T - the actual difference implementation type
      Parameters:
      type - the exact type of the AttributeDifference to get
      Returns:
      the change made to the elements, may be null
      Since:
      3.0
    • getMessage

      public String getMessage()
      Returns a log message which describes this modification. The message will be localized using the default Locale.
      This message is meant for convenience and is equal to
      new ModificationFormatter().format( this )
      Returns:
      a localized modification message
      Since:
      3.0
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isVisible

      public boolean isVisible()
      Returns whether or not this difference will be displayed in any rendered output. This flag is an addition to the visibility of the different DiffGroup.GroupTypes to allow to hide distinct differences.
      Returns:
      true if the difference is to be rendered, false if the difference must not be shown in any graphical output
      Since:
      20.04
    • setVisible

      public void setVisible(boolean visible)
      Defines whether or not this difference will be displayed in any rendered output. This flag is an addition to the visibility of the different DiffGroup.GroupTypes to allow to hide distinct differences.
      Parameters:
      visible - true if the difference is to be rendered, false if the difference must not be shown in any graphical output
      Since:
      20.04