Java.util.ServiceLoader Class



Introduction

The java.util.ServiceLoader class is a simple service-provider loading facility.Following are the important points about ServiceLoader −

  • Service loaders always execute in the security context of the caller.Trusted system code should typically invoke the methods in this class, and the methods of the iterators which they return, from within a privileged security context.

  • This class Instances are not safe for use by multiple concurrent threads.

Class declaration

Following is the declaration for java.util.ServiceLoader class −

public final class ServiceLoader<S>
   extends Object
   implements Iterable<S>

Parameters

Following is the parameter for java.util.ServiceLoader class −

S − This is the type of service to be loaded by this loader.

Class methods

Sr.No. Method & Description
1 Iterator<S> iterator()

This method loads the available providers of this loader's service.

2 public static <S> ServiceLoader<S> load(Class<S> service)

This method creates a new service loader for the given service type, using the current thread's context class loader.

3 public static <S> ServiceLoader<S> load(Class<S> service, ClassLoader loader)

This method creates a new service loader for the given service type and class loader.

4 public static <S> ServiceLoader<S> loadInstalled(Class<S> service)

This method creates a new service loader for the given service type, using the extension class loader.

5 void reload()

This method clear this loader's provider cache so that all providers will be reloaded.

6 String toString()

This method returns a string describing this service.

Methods inherited

This class inherits methods from the following classes −

  • java.util.Object
Advertisements