Interface SchemaNameAdjuster

  • Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    @ThreadSafe
    public interface SchemaNameAdjuster
    A adjuster for the names of change data message schemas. Currently, this solely implements the rules required for using these schemas in Avro messages. Avro rules for schema fullnames are as follows:
  • Each has a fullname that is composed of two parts; a name and a namespace. Equality of names is defined on the fullname.
  • The name portion of a fullname, record field names, and enum symbols must start with a Latin letter or underscore character (e.g., [A-Z,a-z,_]); and subsequent characters must be Latin alphanumeric or the underscore (_) characters (e.g., [A-Z,a-z,0-9,_]).
  • A namespace is a dot-separated sequence of such names.
  • Equality of names (including field names and enum symbols) as well as fullnames is case-sensitive.

A SchemaNameAdjuster can determine if the supplied fullname follows these Avro rules.

Author:
Randall Hauch