Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Eclipse4/RCP/EAS/Common Services

< Eclipse4‎ | RCP‎ | EAS

Besides OSGi services, the E4AP also exposes other services that can be consumed by clients.

Logging

The org.eclipse.e4.core.services.log.Logger class provides clients with a number of convenience methods for logging information. Some of its methods takes Object[] arrays and will perform binding internally to format the message appropriately.

void debug(String message);
 
void info(Throwable t);
 
void trace(String message, Object[] args);

Adapter Pattern

The org.eclipse.e4.core.services.adapter.Adapter interface provides a way for clients to adapt an object to another type. This is akin to the org.eclipse.core.runtime.IAdapterFactory and org.eclipse.core.runtime.IAdaptable interfaces from Eclipse 3.x.

API Comparison

Adapt an object

Eclipse 3.x Eclipse 4.x
public class Consumer {
 
  private Model model;
 
  public void update(Object object) {
    IModelProvider provider = (IModelProvider)
        Platform.getAdapterManager(object, IModelProvider.class);
    if (provider != null) {
      model = provider.getModel();
    }
  }
}
public class Consumer {
 
  @Inject
  private Adapter adapter;
 
  private Model model;
 
  public void update(Object object) {
    IModelProvider provider =
        adapter.adapt(object, IModelProvider.class);
    if (provider != null) {
      model = provider.getModel();
    }
  }
}

Back to the top