All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xapi.util.impl.LazyProvider Maven / Gradle / Ivy

Go to download

This module exists solely to package all other gwt modules into a single uber jar. This makes deploying to non-mavenized targets much easier. Of course, you would be wise to inherit your dependencies individually; the uber jar is intended for projects like collide, which have complex configuration, and adding many jars would be a pain.

The newest version!
package xapi.util.impl;

import javax.inject.Provider;

import xapi.inject.impl.SingletonProvider;

public class LazyProvider  extends SingletonProvider {

  private final Provider provider;

  public LazyProvider(Provider provider) {
    this.provider = provider;
  }
  
  public LazyProvider(T maybeNull, Provider provider) {
    this.provider = 
        maybeNull == null 
          ? provider 
          : new ImmutableProvider<>(maybeNull);
  }
  
  @Override
  protected final T initialValue() {
    return provider.get();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy