Class SchemaCompatibility19.SchemaCompatibilityResult

java.lang.Object
com.linkedin.venice.schema.avro.SchemaCompatibility19.SchemaCompatibilityResult
Enclosing class:
SchemaCompatibility19

public static final class SchemaCompatibility19.SchemaCompatibilityResult extends Object
Immutable class representing details about a particular schema pair compatibility check.
  • Method Details

    • mergedWith

      Merges the current SchemaCompatibilityResult with the supplied result into a new instance, combining the list of Incompatibility Incompatibilities and regressing to the SchemaCompatibilityType#INCOMPATIBLE INCOMPATIBLE state if any incompatibilities are encountered.
      Parameters:
      toMerge - The SchemaCompatibilityResult to merge with the current instance.
      Returns:
      A SchemaCompatibilityResult that combines the state of the current and supplied instances.
    • compatible

      Returns a details object representing a compatible schema pair.
      Returns:
      a SchemaCompatibilityDetails object with COMPATIBLE SchemaCompatibilityType, and no other state.
    • recursionInProgress

      public static SchemaCompatibility19.SchemaCompatibilityResult recursionInProgress()
      Returns a details object representing a state indicating that recursion is in progress.
      Returns:
      a SchemaCompatibilityDetails object with RECURSION_IN_PROGRESS SchemaCompatibilityType, and no other state.
    • incompatible

      public static SchemaCompatibility19.SchemaCompatibilityResult incompatible(SchemaCompatibility19.SchemaIncompatibilityType incompatibilityType, org.apache.avro.Schema readerFragment, org.apache.avro.Schema writerFragment, String message, List<String> location)
      Returns a details object representing an incompatible schema pair, including error details.
      Returns:
      a SchemaCompatibilityDetails object with INCOMPATIBLE SchemaCompatibilityType, and state representing the violating part.
    • getCompatibility

      Returns the SchemaCompatibilityType, always non-null.
      Returns:
      a SchemaCompatibilityType instance, always non-null
    • getIncompatibilities

      public List<SchemaCompatibility19.Incompatibility> getIncompatibilities()
      If the compatibility is INCOMPATIBLE, returns Incompatibilities found, otherwise an empty list.
      Returns:
      a list of Incompatibilities, may be empty, never null.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object