001package io.avaje.inject.spi;
002
003import io.avaje.spi.Service;
004
005/**
006 * Superclass for all Inject SPI classes
007 *
008 * <p>Add extensions by implementing one of the following extension interfaces and have it
009 * registered with the {@link java.util.ServiceLoader ServiceLoader} as an {@link InjectExtension}.
010 *
011 * <h4>Available Extensions</h4>
012 *
013 * <ul>
014 *   <li>{@link AvajeModule}
015 *   <li>{@link ConfigPropertyPlugin}
016 *   <li>{@link InjectPlugin}
017 *   <li>{@link ModuleOrdering}
018 * </ul>
019 */
020@Service
021public interface InjectExtension {}