#36 rxjava: maybe
This commit is contained in:
@@ -0,0 +1,48 @@
|
|||||||
|
package org.example.ex05;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Maybe;
|
||||||
|
import io.reactivex.rxjava3.core.MaybeEmitter;
|
||||||
|
import io.reactivex.rxjava3.core.MaybeObserver;
|
||||||
|
import io.reactivex.rxjava3.core.MaybeOnSubscribe;
|
||||||
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
import org.example.utils.DateUtil;
|
||||||
|
import org.example.utils.LogType;
|
||||||
|
import org.example.utils.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Maybe 클래스를 이용하여 데이터를 통지하는 예제
|
||||||
|
*/
|
||||||
|
public class MaybeCreateEx {
|
||||||
|
public static void main(String[] args){
|
||||||
|
Maybe<String> maybe = Maybe.create(new MaybeOnSubscribe<String>() {
|
||||||
|
@Override
|
||||||
|
public void subscribe(MaybeEmitter<String> emitter) throws Exception {
|
||||||
|
// emitter.onSuccess(DateUtil.getNowDate());
|
||||||
|
|
||||||
|
emitter.onComplete();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
maybe.subscribe(new MaybeObserver<String>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable disposable) {
|
||||||
|
// 아무것도 하지 않음.
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(String data) {
|
||||||
|
Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable error) {
|
||||||
|
Logger.log(LogType.ON_ERROR, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Logger.log(LogType.ON_COMPLETE);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package org.example.ex05;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Maybe;
|
||||||
|
import io.reactivex.rxjava3.core.Single;
|
||||||
|
import org.example.utils.DateUtil;
|
||||||
|
import org.example.utils.LogType;
|
||||||
|
import org.example.utils.Logger;
|
||||||
|
|
||||||
|
public class MaybeFromSingle {
|
||||||
|
public static void main(String[] args){
|
||||||
|
Single<String> single = Single.just(DateUtil.getNowDate());
|
||||||
|
Maybe.fromSingle(single)
|
||||||
|
.subscribe(
|
||||||
|
data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||||
|
error -> Logger.log(LogType.ON_ERROR, error),
|
||||||
|
() -> Logger.log(LogType.ON_COMPLETE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package org.example.ex05;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Maybe;
|
||||||
|
import org.example.utils.LogType;
|
||||||
|
import org.example.utils.Logger;
|
||||||
|
|
||||||
|
public class MaybeJustEx {
|
||||||
|
public static void main(String[] args){
|
||||||
|
// Maybe.just(DateUtil.getNowDate())
|
||||||
|
// .subscribe(
|
||||||
|
// data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||||
|
// error -> Logger.log(LogType.ON_ERROR, error),
|
||||||
|
// () -> Logger.log(LogType.ON_COMPLETE)
|
||||||
|
// );
|
||||||
|
|
||||||
|
Maybe.empty()
|
||||||
|
.subscribe(
|
||||||
|
data -> Logger.log(LogType.ON_SUCCESS, data),
|
||||||
|
error -> Logger.log(LogType.ON_ERROR, error),
|
||||||
|
() -> Logger.log(LogType.ON_COMPLETE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package org.example.ex05;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Maybe;
|
||||||
|
import org.example.utils.DateUtil;
|
||||||
|
import org.example.utils.LogType;
|
||||||
|
import org.example.utils.Logger;
|
||||||
|
|
||||||
|
public class MaybeLambdaEx {
|
||||||
|
public static void main(String[] args){
|
||||||
|
Maybe<String> maybe = Maybe.create(emitter -> {
|
||||||
|
emitter.onSuccess(DateUtil.getNowDate());
|
||||||
|
// emitter.onComplete();
|
||||||
|
});
|
||||||
|
|
||||||
|
maybe.subscribe(
|
||||||
|
data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||||
|
error -> Logger.log(LogType.ON_ERROR, error),
|
||||||
|
() -> Logger.log(LogType.ON_COMPLETE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user