Class ObjectDifferences

java.lang.Object
liquibase.diff.ObjectDifferences

public class ObjectDifferences extends Object
  • Constructor Details

    • ObjectDifferences

      @Deprecated public ObjectDifferences(CompareControl compareControl)
      Deprecated.
      Use ObjectDifferences(CompareControl, DatabaseObject, DatabaseObject) instead to provide both objects being compared
      Creates an ObjectDifferences with only a CompareControl.
      Parameters:
      compareControl - the control to use for comparisons
    • ObjectDifferences

      public ObjectDifferences(CompareControl compareControl, DatabaseObject referenceObject, DatabaseObject comparisonObject)
      Creates an ObjectDifferences with the control and both objects being compared.
      Parameters:
      compareControl - the control to use for comparisons
      referenceObject - the reference database object (can be null)
      comparisonObject - the comparison database object (can be null)
  • Method Details

    • getDifferences

      public Set<Difference> getDifferences()
    • getDifference

      public Difference getDifference(String field)
    • isDifferent

      public boolean isDifferent(String field)
    • addDifference

      public ObjectDifferences addDifference(String changedField, Object referenceValue, Object compareToValue)
    • addDifference

      public ObjectDifferences addDifference(String message, String changedField, Object referenceValue, Object compareToValue)
    • hasDifferences

      public boolean hasDifferences()
    • compare

      public void compare(String attribute, DatabaseObject referenceObject, DatabaseObject compareToObject, ObjectDifferences.CompareFunction compareFunction)
    • compare

      public void compare(String message, String attribute, DatabaseObject referenceObject, DatabaseObject compareToObject, ObjectDifferences.CompareFunction compareFunction)
    • undoCollection

      protected Object undoCollection(Object potentialCollection, Object otherObject)
      Sometimes an attribute in one object is a single-entity collection and on the other it is just the object. Check the passed potentialCollection and if it is a single-entry collection of the same type as the otherObject, return just the collection element. Otherwise, return the original collection.
    • removeDifference

      public boolean removeDifference(String attribute)
    • getSchemaComparisons

      public CompareControl.SchemaComparison[] getSchemaComparisons()
    • getReferenceObject

      public DatabaseObject getReferenceObject()
      Returns the reference database object being compared.
      Returns:
      the reference object, or null if not set
    • getComparisonObject

      public DatabaseObject getComparisonObject()
      Returns the comparison database object being compared.
      Returns:
      the comparison object, or null if not set