Class RouterBackedSchemaReader

  • All Implemented Interfaces:
    SchemaReader, java.io.Closeable, java.lang.AutoCloseable

    public class RouterBackedSchemaReader
    extends java.lang.Object
    implements SchemaReader
    • Field Detail

      • TYPE_VALUE_SCHEMA

        public static final java.lang.String TYPE_VALUE_SCHEMA
        See Also:
        Constant Field Values
      • TYPE_ALL_VALUE_SCHEMA_IDS

        public static final java.lang.String TYPE_ALL_VALUE_SCHEMA_IDS
        See Also:
        Constant Field Values
      • TYPE_UPDATE_SCHEMA

        public static final java.lang.String TYPE_UPDATE_SCHEMA
        See Also:
        Constant Field Values
    • Constructor Detail

      • RouterBackedSchemaReader

        public RouterBackedSchemaReader​(java.util.function.Supplier<InternalAvroStoreClient> clientSupplier,
                                        java.util.Optional<org.apache.avro.Schema> readerSchema,
                                        java.util.Optional<java.util.function.Predicate<org.apache.avro.Schema>> preferredSchemaFilter)
      • RouterBackedSchemaReader

        public RouterBackedSchemaReader​(java.util.function.Supplier<InternalAvroStoreClient> clientSupplier,
                                        java.util.Optional<org.apache.avro.Schema> readerSchema,
                                        java.util.Optional<java.util.function.Predicate<org.apache.avro.Schema>> preferredSchemaFilter,
                                        ICProvider icProvider)
      • RouterBackedSchemaReader

        public RouterBackedSchemaReader​(java.util.function.Supplier<InternalAvroStoreClient> clientSupplier,
                                        java.util.Optional<org.apache.avro.Schema> readerSchema,
                                        java.util.Optional<java.util.function.Predicate<org.apache.avro.Schema>> preferredSchemaFilter,
                                        java.time.Duration valueSchemaRefreshPeriod)
      • RouterBackedSchemaReader

        public RouterBackedSchemaReader​(java.util.function.Supplier<InternalAvroStoreClient> clientSupplier,
                                        java.util.Optional<org.apache.avro.Schema> readerSchema,
                                        java.util.Optional<java.util.function.Predicate<org.apache.avro.Schema>> preferredSchemaFilter,
                                        java.time.Duration valueSchemaRefreshPeriod,
                                        ICProvider icProvider)
      • RouterBackedSchemaReader

        public RouterBackedSchemaReader​(InternalAvroStoreClient storeClient,
                                        java.util.Optional<org.apache.avro.Schema> readerSchema,
                                        java.util.Optional<java.util.function.Predicate<org.apache.avro.Schema>> preferredSchemaFilter,
                                        java.time.Duration valueSchemaRefreshPeriod,
                                        ICProvider icProvider)
    • Method Detail

      • getValueSchema

        public org.apache.avro.Schema getValueSchema​(int id)
        Specified by:
        getValueSchema in interface SchemaReader
      • getValueSchemaId

        public int getValueSchemaId​(org.apache.avro.Schema schema)
        Description copied from interface: SchemaReader
        Return the schema ID of any schema that has the same parsing canonical form as the schema provided.
        Specified by:
        getValueSchemaId in interface SchemaReader
        Parameters:
        schema - The schema for which the schema ID is needed
        Returns:
        The ID of the schema that has the same parsing canonical form as the schema provided
      • getUpdateSchema

        public org.apache.avro.Schema getUpdateSchema​(int valueSchemaId)
        Specified by:
        getUpdateSchema in interface SchemaReader
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException