Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Eclipse4/RCP/EAS/Common Services"

< Eclipse4‎ | RCP‎ | EAS
(Logging)
(Logging)
 
Line 9: Line 9:
 
void info(Throwable t);
 
void info(Throwable t);
  
void trace(String message, Object[] args)
+
void trace(String message, Object[] args);
 
</source>
 
</source>
  

Latest revision as of 14:13, 14 April 2011

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