package jalse.actions;
class UnmodifiableDelegateActionEngine implements ActionEngine {
private final ActionEngine delegate;
UnmodifiableDelegateActionEngine(final ActionEngine delegate) {
this.delegate = delegate;
}
@Override
public ActionBindings getBindings() {
return new UnmodifiableDelegateActionBindings(delegate != null ? delegate.getBindings() : null);
}
@Override
public boolean isPaused() {
return delegate != null ? delegate.isPaused() : false;
}
@Override
public boolean isStopped() {
return delegate != null ? delegate.isStopped() : true;
}
@Override
public <T> SchedulableActionContext<T> newContext(final Action<T> action) {
throw new UnsupportedOperationException();
}
@Override
public void pause() {
throw new UnsupportedOperationException();
}
@Override
public void resume() {
throw new UnsupportedOperationException();
}
@Override
public void stop() {
throw new UnsupportedOperationException();
}
}