package com.github.czyzby.lml.uedi.ui;
import java.lang.reflect.Member;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.github.czyzby.uedi.stereotype.Provider;
/** Provides {@link Batch} instance.
*
* @author MJ */
public class BatchProvider implements Provider<Batch> {
private final BatchProvider delegate;
protected BatchProvider() {
delegate = null;
}
/** @param delegate will be used to provide {@link Batch} instance. Workaround to map an interface in the
* context. */
public BatchProvider(final BatchProvider delegate) {
this.delegate = delegate;
}
@Override
public Class<? extends Batch> getType() {
return Batch.class;
}
@Override
public Batch provide(final Object target, final Member member) {
return delegate.provide(target, member);
}
/** @return application's only {@link Batch} instance. */
public Batch getBatch() {
return delegate.getBatch();
}
}