Package space.arim.omnibus.spi


package space.arim.omnibus.spi
Defines a service provider framework allowing management of instances returned by OmnibusProvider.getOmnibus().

The interfaces in this package must be implemented by service providers. An example of replacing the global Omnibus instance is provided:
public class MyProvider implements OmnibusProviderSpi {

        public OmnibusDefiner createDefiner() {
                return new MyDefiner();
        }
        public byte priority() {
                return (byte) -32;
        }
}

class MyDefiner implements OmnibusDefiner {

        private final Omnibus instance = new CustomOmnibusImplementation();

        public Omnibus getOmnibus(Class<?> callerClass) {
                return instance;
        }

        public boolean requiresCallerClass() {
                return false;
        }

}