001package javax.visrec.spi; 002 003import javax.visrec.ImageFactory; 004import java.util.Optional; 005 006/** 007 * The service to locate and find implementations of the {@link ImageFactory} interface. 008 * 009 * @author Kevin Berendsen 010 * @since 1.0 011 */ 012public interface ImageFactoryService { 013 014 /** 015 * Get the {@link ImageFactory} implementation by its image type. 016 * @param imageCls image type in {@link Class} object which is able to 017 * be processed by the image factory implementation. 018 * @param <T> image type 019 * @return {@link Optional} with possible {@link ImageFactory} implementation 020 * if found. 021 */ 022 <T> Optional<ImageFactory<T>> getByImageType(final Class<T> imageCls); 023 024}