xapi.annotation.inject.InstanceOverrideBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-dev Show documentation
Show all versions of xapi-dev Show documentation
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);
}
}