private Observable<CreatedResources<T>> createAsyncNonStream(List<Creatable<T>> creatables) { return Utils.<CreatableUpdatableResourcesRoot<T>>rootResource(this.createAsync(creatables)) .map(new Func1<CreatableUpdatableResourcesRoot<T>, CreatedResources<T>>() { @Override public CreatedResources<T> call(CreatableUpdatableResourcesRoot<T> tCreatableUpdatableResourcesRoot) { return new CreatedResourcesImpl<>(tCreatableUpdatableResourcesRoot); } }); }
@Override public final ServiceFuture<CreatedResources<T>> createAsync(final ServiceCallback<CreatedResources<T>> callback, List<Creatable<T>> creatables) { return ServiceFuture.fromBody(createAsyncNonStream(creatables), callback); }
@Override @SafeVarargs public final CreatedResources<T> create(Creatable<T>... creatables) { return createAsyncNonStream(creatables) .toBlocking() .single(); }
@SuppressWarnings("unchecked") private Observable<CreatedResources<T>> createAsyncNonStream(Creatable<T>... creatables) { return Utils.<CreatableUpdatableResourcesRoot<T>>rootResource(this.createAsync(creatables)) .map(new Func1<CreatableUpdatableResourcesRoot<T>, CreatedResources<T>>() { @Override public CreatedResources<T> call(CreatableUpdatableResourcesRoot<T> tCreatableUpdatableResourcesRoot) { return new CreatedResourcesImpl<>(tCreatableUpdatableResourcesRoot); } }); }
@Override public final CreatedResources<T> create(List<Creatable<T>> creatables) { return createAsyncNonStream(creatables) .toBlocking() .single(); }
@Override @SafeVarargs public final ServiceFuture<CreatedResources<T>> createAsync(final ServiceCallback<CreatedResources<T>> callback, Creatable<T>... creatables) { return ServiceFuture.fromBody(createAsyncNonStream(creatables), callback); }