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

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

Go to download

Everything needed to run a comprehensive dev environment. Just type X_ and pick a service from autocomplete; new dev modules will be added as they are built. The only dev service not included in the uber jar is xapi-dev-maven, as it includes all runtime dependencies of maven, adding ~4 seconds to build time, and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).

The newest version!
package xapi.util.impl;

import javax.inject.Provider;

public class DeferredCharSequence implements CharSequence {

  private final LazyProvider join;

  public DeferredCharSequence(final CharSequence body, final CharSequence chars) {
    join = new LazyProvider(new Provider() {
      @Override
      public String get() {
        return init(body.toString(), chars.toString());
      }
    });
  }

  protected String init(String str0, String str1) {
    return str0.concat(str1);
  }

  @Override
  public String toString() {
    return join.get();
  }

  @Override
  public CharSequence subSequence(int start, int end) {
    return toString().subSequence(start, end);
  }

  @Override
  public int length() {
    return toString().length();
  }

  @Override
  public char charAt(int index) {
    return toString().charAt(index);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy