# Interface CompatibilityCheckDetails<T>

Type Parameters:
  `T` - the concrete type of the attribute

public interface CompatibilityCheckDetails<T>
Provides context about attribute compatibility checks, and allows the user to define when an attribute is compatible with another.

A compatibility check will never be performed when the consumer and producer values are equal.

Since:
  3.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `compatible()`
  Calling this method will indicate that the attributes are compatible.
  `@Nullable T`
  `getConsumerValue()`
  The value of the attribute as found on the consumer side.
  `@Nullable T`
  `getProducerValue()`
  The value of the attribute as found on the producer side.
  `void`
  `incompatible()`
  Calling this method will indicate that the attributes are incompatible.

- ## Method Details

  - ### getConsumerValue

    @Nullable T getConsumerValue()
    The value of the attribute as found on the consumer side.

    Never equal to the `getProducerValue()`.

    Returns:
      the value from the consumer
    Since:
      3.3

  - ### getProducerValue

    @Nullable T getProducerValue()
    The value of the attribute as found on the producer side.

    Never equal to the `getConsumerValue()`.

    Returns:
      the value from the producer
    Since:
      3.3

  - ### compatible

    void compatible()
    Calling this method will indicate that the attributes are compatible.
    Since:
      3.3

  - ### incompatible

    void incompatible()
    Calling this method will indicate that the attributes are incompatible.
    Since:
      3.3