| The Essential Components

## Implementing a Context Implementation

> A context implementation is a class that implements the `Context` interface. It is the guts of a service provider, which is responsible for handling almost all of the requests submitted by the user program.

> The user program accesses a context implementation in two ways:

> - Indirectly via method invocation on the `InitialContext` class
> - Directly via method invocation on `Context` instances, obtained by calls such as `Context.lookup()`

> A context implementation must provide a definition for each method in the `Context` interface. These methods can be categorized as follows:

> - Lookup
> - List (Enumeration)
> - Update
> - Names (name parser and other methods that deal with names)
> Details on how to implement these methods and miscellaneous tips are shown in the next sections.

| The Essential Components