
se.l4.vibe.internal.DefaultVibeBuilder Maven / Gradle / Ivy
package se.l4.vibe.internal;
import java.util.concurrent.TimeUnit;
import se.l4.vibe.Vibe;
import se.l4.vibe.VibeBuilder;
import se.l4.vibe.backend.MergedBackend;
import se.l4.vibe.backend.VibeBackend;
/**
* Builder for {@link Vibe} instances.
*
* @author Andreas Holstenson
*
*/
public class DefaultVibeBuilder
implements VibeBuilder
{
private VibeBackend backend;
private long sampleInterval;
public DefaultVibeBuilder()
{
sampleInterval = TimeUnit.MINUTES.toMillis(1);
}
@Override
public VibeBuilder setBackend(VibeBackend backend)
{
this.backend = backend;
return this;
}
@Override
public VibeBuilder setBackends(VibeBackend... backends)
{
return setBackend(new MergedBackend(backends));
}
@Override
public VibeBuilder setSampleInterval(long time, TimeUnit unit)
{
this.sampleInterval = unit.toMillis(time);
return this;
}
@Override
public Vibe build()
{
return new VibeImpl(backend, sampleInterval);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy