Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */
package com.microsoft.azure.management.resources.fluentcore.utils; import rx.Observable; import rx.functions.Func1; import rx.schedulers.Schedulers;
An internal utility class representing an RX function returning the provided type instance from a call with an arbitrary parameter.
Type parameters:
  • <T> – the type to emit as Observable
/** * An internal utility class representing an RX function returning the provided type instance * from a call with an arbitrary parameter. * @param <T> the type to emit as Observable */
public final class RXMapper<T> implements Func1<Object, T> { private final T value;
Shortcut for mapping the output of an arbitrary observable to one returning an instance of a specific type, using the IO scheduler.
Params:
  • fromObservable – the source observable
  • toValue – the value to emit to the observer
Type parameters:
  • <T> – the type of the value to emit
Returns:an observable emitting the specified value
/** * Shortcut for mapping the output of an arbitrary observable to one returning an instance of a specific type, using the IO scheduler. * @param fromObservable the source observable * @param toValue the value to emit to the observer * @param <T> the type of the value to emit * @return an observable emitting the specified value */
public static <T> Observable<T> map(Observable<?> fromObservable, final T toValue) { if (fromObservable != null) { return fromObservable.subscribeOn(Schedulers.io()) .map(new RXMapper<T>(toValue)); } else { return Observable.empty(); } }
Shortcut for mapping an arbitrary observable to void, using the IO scheduler.
Params:
  • fromObservable – the source observable
Returns:a void-emitting observable
/** * Shortcut for mapping an arbitrary observable to void, using the IO scheduler. * @param fromObservable the source observable * @return a void-emitting observable */
public static Observable<Void> mapToVoid(Observable<?> fromObservable) { if (fromObservable != null) { return fromObservable.subscribeOn(Schedulers.io()) .map(new RXMapper<Void>()); } else { return Observable.empty(); } }
Params:
  • value – the value to emit
/** * @param value the value to emit */
private RXMapper(T value) { this.value = value; }
Void emitting mapper.
/** * Void emitting mapper. */
private RXMapper() { this.value = null; } @Override public T call(Object t) { return this.value; } }