org.jboss.forge.furnace.container:guice-impl

Parent POM for JBoss projects. Provides default project build configuration.

License

License

Categories

Categories

JBoss Container Application Servers GUI User Interface Guice Application Layer Libs Dependency Injection
GroupId

GroupId

org.jboss.forge.furnace.container
ArtifactId

ArtifactId

guice-impl
Last Version

Last Version

1.0.0.Beta1
Release Date

Release Date

Type

Type

jar
Description

Description

Parent POM for JBoss projects. Provides default project build configuration.
Project Organization

Project Organization

JBoss by Red Hat

Download guice-impl

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.forge.furnace.container/guice-impl/ -->
<dependency>
    <groupId>org.jboss.forge.furnace.container</groupId>
    <artifactId>guice-impl</artifactId>
    <version>1.0.0.Beta1</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.forge.furnace.container/guice-impl/
implementation 'org.jboss.forge.furnace.container:guice-impl:1.0.0.Beta1'
// https://jarcasting.com/artifacts/org.jboss.forge.furnace.container/guice-impl/
implementation ("org.jboss.forge.furnace.container:guice-impl:1.0.0.Beta1")
'org.jboss.forge.furnace.container:guice-impl:jar:1.0.0.Beta1'
<dependency org="org.jboss.forge.furnace.container" name="guice-impl" rev="1.0.0.Beta1">
  <artifact name="guice-impl" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.forge.furnace.container', module='guice-impl', version='1.0.0.Beta1')
)
libraryDependencies += "org.jboss.forge.furnace.container" % "guice-impl" % "1.0.0.Beta1"
[org.jboss.forge.furnace.container/guice-impl "1.0.0.Beta1"]

Dependencies

provided (1)

Group / Artifact Type Version
org.jboss.forge.furnace.container : guice-api jar 1.0.0.Beta1

Project Modules

There are no modules declared in this project.

Furnace Container: Guice

Build Status License Maven Central

This addon is a 'Furnace container' that provides lifecycle and service registry support for dependent addons. Other addons may depend on this to use the Guice programming model and dependency injection framework.

Dependencies: None

Setup

This Addon requires the following installation steps.

Add configuration to pom.xml

To use this addon, you must add it as a dependency in the pom.xml of your forge-addon classified artifact:

<dependency>
   <groupId>org.jboss.forge.furnace.container</groupId>
   <artifactId>guice</artifactId>
   <classifier>forge-addon</classifier>
   <version>${version}</version>
</dependency>

Create a com.google.inject.Module implementation as a Service provider in your addon

In order for Guice to detect your services, you must add a src/main/resources/META-INF/services/com.google.inject.Module file in your project containing the com.google.inject.Module implementation.

Features

Observable events

The Furnace container publishes several observable events to all addons throughout their lifecycle. In order to listen for events, implement the org.jboss.forge.furnace.container.guice.EventListener interface.

public class MyEmitter {
    @Inject
    EventManager eventManager;

    public void fire() {
        eventManager.fireEvent("FOO");
    }
}

public class MyObserver implements EventListener {

    public void handleEvent(Object event, Annotation ... qualifiers) {
        // "FOO".equals(event) == true
    }

}
Injection of Furnace APIs

This container also allows for injection of some of the core Furnace APIs into your objects. Below is a list of all injectable API types.

Injectable Type Description

@Inject private Furnace service;

A handle to the Furnace container in which this addon is being run.

@Inject private Addon self;

A reference to this addon itself. Allows access to the addon version, ClassLoader, service registry, current lifecycle status, and addon dependencies.

@Inject private AddonRegistry addonRegistry;

A reference to the global Furnace addon registry - can be used to retrieve addon and exported service instances.

org.jboss.forge.furnace.container

JBoss Forge

JBoss Forge is a software development tool that extends your Java IDE, providing wizards and extensions (add-ons) for different technologies and solutions

Versions

Version
1.0.0.Beta1
1.0.0.Alpha1