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

xapi.annotation.inject.InstanceOverrideBuilder 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.annotation.inject;

import xapi.annotation.inject.InstanceOverride;

@SuppressWarnings("all")
public class InstanceOverrideBuilder {

  private static final class ImmutableInstanceOverride implements InstanceOverride {

    private final Class implFor;

    private final int priority;

    public Class annotationType () {
      return xapi.annotation.inject.InstanceOverride.class;
    }

    public final Class implFor () {
      return implFor;
    }

    public final int priority () {
      return priority;
    }

    private ImmutableInstanceOverride  (Class implFor, int priority) {
      this.implFor = implFor;
      this.priority = priority;
    }

  }

  public static InstanceOverrideBuilder buildInstanceOverride (Class implFor) {
    return new InstanceOverrideBuilder(implFor);
  }

  private Class implFor;

  private int priority;

  public final Class getImplFor () {
    return implFor;
  }

  public final InstanceOverrideBuilder setImplFor (Class implFor) {
    this.implFor = implFor;
    return this;
  }

  public final int getPriority () {
    return priority;
  }

  public final InstanceOverrideBuilder setPriority (int priority) {
    this.priority = priority;
    return this;
  }

  private InstanceOverrideBuilder  (Class implFor) {
    this.implFor = implFor;
  }

  public InstanceOverride build () {
    return new ImmutableInstanceOverride(implFor, priority);
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy