Class ServiceFactory
- java.lang.Object
-
- com.pingidentity.sdk.internal.services.ServiceFactory
-
public class ServiceFactory extends Object
-
-
Constructor Summary
Constructors Constructor Description ServiceFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> List<Class<?>>getImplClasses(Class<T> clazz)Acquires the list of implementation classes when multiple classes may be provided.static <T> TgetSingleImpl(Class<T> clazz, ArgPair<?>... args)Acquires the implementation when one and only one implementation is expected.
-
-
-
Method Detail
-
getImplClasses
public static <T> List<Class<?>> getImplClasses(Class<T> clazz)
Acquires the list of implementation classes when multiple classes may be provided.- Type Parameters:
T- The interface type.- Parameters:
clazz- The class representing the interface for which to look for registered implementations.- Returns:
- The list of types provided. Ordering is based on classloader behavior and should not be depended upon. (never null)
-
getSingleImpl
public static <T> T getSingleImpl(Class<T> clazz, ArgPair<?>... args)
Acquires the implementation when one and only one implementation is expected. Provides an instance if the first instance encountered is instantiable. Logs warnings if there are more than 1 impls available. Returned impl type is based upon classloader behavior and may be non-deterministic.- Type Parameters:
T- The interface type.- Parameters:
clazz- The class representing the Interface for which to look for registered implementations.- Returns:
- A instance of the impl created using the no-argument constructor.
- Throws:
RuntimeException- when errors are encountered.
-
-