All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.nill14.utils.init.api.IServiceRegistry Maven / Gradle / Ivy

There is a newer version: 0.4.0
Show newest version
package com.github.nill14.utils.init.api;

import java.util.Collection;
import java.util.Optional;

public interface IServiceRegistry {

	 void addSingleton(T serviceBean);
	
	 void addSingleton(String name, T serviceBean);
	
	 void addService(Class serviceBean);
	
	 void addService(String name, Class serviceBean);
	
	> void addServiceFactory(Class iface, String name, Class factoryBean);
	
	> void addServiceFactory(Class iface, Class factoryBean);
	
	 S getService(Class iface);

	 Optional getOptionalService(Class iface);
	
	 S getService(Class iface, String name);

	 Optional getOptionalService(Class iface, String name);
	
	 Collection getServices(Class registrable);

}