public final class

SisuExtensions

extends Object
implements SpaceModule.Strategy WireModule.Strategy
java.lang.Object
   ↳ org.eclipse.sisu.launch.SisuExtensions

Class Overview

SPI mechanism for discovering Module and Strategy extensions.

Summary

[Expand]
Inherited Fields
From interface org.eclipse.sisu.space.SpaceModule.Strategy
From interface org.eclipse.sisu.wire.WireModule.Strategy
Public Methods
<T> List<T> create(Class<T> spi)
Creates instances of extensions listed under META-INF/services/ fully-qualified-SPI-name ; implementations must have a public no-arg constructor.
<T, C> List<T> create(Class<T> spi, Class<C> contextType, C context)
Creates instances of extensions listed under META-INF/services/ fully-qualified-SPI-name ; implementations must either have a public no-arg constructor or one with the declared context type.
static SisuExtensions global(ClassSpace space)
Returns global SisuExtensions from the surrounding class space.
<C> void install(Binder binder, Class<C> contextType, C context)
Installs modules listed under META-INF/services/com.google.inject.Module; modules must either have a public no-arg constructor or one with the declared context type.
void install(Binder binder)
Installs modules listed under META-INF/services/com.google.inject.Module; modules must have a public no-arg constructor.
<T> List<Class<? extends T>> load(Class<T> spi)
Loads extension types listed under META-INF/services/ fully-qualified-SPI-name.
static SisuExtensions local(ClassSpace space)
Returns local SisuExtensions from the containing class space.
SpaceVisitor visitor(Binder binder)
SpaceModule strategy that lets META-INF/services/org.eclipse.sisu.space.SpaceVisitor extensions override the default scanning.
Wiring wiring(Binder binder)
WireModule strategy that lets META-INF/services/org.eclipse.sisu.wire.Wiring extensions override the default wiring.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.eclipse.sisu.space.SpaceModule.Strategy
From interface org.eclipse.sisu.wire.WireModule.Strategy

Public Methods

public List<T> create (Class<T> spi)

Creates instances of extensions listed under META-INF/services/ fully-qualified-SPI-name ; implementations must have a public no-arg constructor.

Parameters
spi The extension SPI
Returns
  • List of extensions

public List<T> create (Class<T> spi, Class<C> contextType, C context)

Creates instances of extensions listed under META-INF/services/ fully-qualified-SPI-name ; implementations must either have a public no-arg constructor or one with the declared context type.

Parameters
spi The extension SPI
contextType Optional context type
context Optional context instance
Returns
  • List of extensions

public static SisuExtensions global (ClassSpace space)

Returns global SisuExtensions from the surrounding class space.

Parameters
space The class space
Returns
  • Global extensions

public void install (Binder binder, Class<C> contextType, C context)

Installs modules listed under META-INF/services/com.google.inject.Module; modules must either have a public no-arg constructor or one with the declared context type.

Parameters
binder The current binder
contextType Optional context type
context Optional context instance

public void install (Binder binder)

Installs modules listed under META-INF/services/com.google.inject.Module; modules must have a public no-arg constructor.

Parameters
binder The current binder

public List<Class<? extends T>> load (Class<T> spi)

Loads extension types listed under META-INF/services/ fully-qualified-SPI-name.

Parameters
spi The extension SPI
Returns
  • List of extension types

public static SisuExtensions local (ClassSpace space)

Returns local SisuExtensions from the containing class space.

Parameters
space The class space
Returns
  • Local extensions

public SpaceVisitor visitor (Binder binder)

SpaceModule strategy that lets META-INF/services/org.eclipse.sisu.space.SpaceVisitor extensions override the default scanning.

Parameters
binder The binder
Returns
  • Extended visitor

public Wiring wiring (Binder binder)

WireModule strategy that lets META-INF/services/org.eclipse.sisu.wire.Wiring extensions override the default wiring.

Parameters
binder The binder
Returns
  • Extended wiring