# All Classes and Interfaces

Class
Description
BootstrapCommandFile
ClassLoaderResourceProvider
The `ClassLoaderResourceProvider`
ContextConnection
The `ContextConnection` extends the `java.net.URLConnection` to provide access to a resource which is available from `LaunchpadContentProvider` provided to `Sling`.
ContextProtocolHandler
The `ContextProtocolHandler` is a simple extension of the OSGi provided `AbstractURLStreamHandlerService` which simply returns an instance of the `ContextConnection` when trying to open the connection of the URL.
ControlAction
The `ControlAction` defines values to used as the action for the Sling control with the `Main.doControlAction()` method.
DefaultStartupHandler
The installation listener is listening for - framework events - events from other services It notifies listeners about the finish of the startup and about an approximate progress.
DirectoryUtil
Launcher
The `Launcher` interface is implemented by the delegate classes inside the Launcher JAR and are used by the actual Main class or servlet to configure and start the framework.
LauncherClassLoader
The `LauncherClassLoader` extends the standard Java VM `URLClassLoader` such, that classes and resources which are contained in the launcher JAR File are never looked up in the parent class loader.
Loader
The `Loader` class provides utility methods for the actual launchers to help launching the framework.
Main
The `Main` is the externally visible Standalone Java Application launcher for Sling.
MainDelegate
The `Main` class is a simple Java Application which interprests the command line and creates the `Sling` launcher class and thus starts the OSGi framework.
MBeanStartupListener
The startup listener is listening for startup events.
Notifiable
The `Notifiable` interface is implemented by the real main class and Sling Servlet for them to be notified from the launcher JAR when the framework has been stopped or updated.
SharedConstants
Sling
The `Sling` serves as the starting point for Sling.
SlingBridge
The `SlingBridge` returns an extended `Sling` class to override any sling properties with context init parameters from the web application.
SlingFelix
SlingServlet
The `SlingServlet` is the externally visible Web Application launcher for Sling.
SlingServletDelegate
The `SlingServletDelegate` serves as a basic servlet for Project Sling.
StartupManager
The `StartupManager` tries to detect the startup mode: It distinguishes between an initial startup (INSTALL), an update (UPDATE) and a restart without a change (RESTART).
Util
The `Util` class provides general shared utilities.