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

xapi.source.impl.Varargs 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.source.impl;

import xapi.source.api.IsType;

public class Varargs {

  private IsType[] types;

  public Varargs(IsType ... types) {
    this.types = types;
  }

  public void addType(IsType ... newtypes) {
    IsType[] grow = new IsType[types.length+newtypes.length];
    System.arraycopy(types, 0, grow, 0, types.length);
    System.arraycopy(newtypes, 0, grow, types.length, newtypes.length);
    types = grow;
    grow = null;
  }

  public IsType[] getTypes() {
    return types;
  }

  @Override
  public String toString() {
    if (types.length==0)return "";
    StringBuilder b = new StringBuilder();
    b.append(format(types[0]));
    for (int i = 1;i < types.length; i++) {
      b.append(separator());
      b.append(format(types[i]));
    }
    return b.toString();
  }

  protected String format(IsType isType) {
    return String.valueOf(isType);
  }

  private String separator() {
    return ", ";
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy