Android-IFx
This library is deprecated. I recommend use petitviolet/Android-scaex instead.
This library for Android provides if-expression
like Scala.
IFx
enabled Java if-statement to return value.
Strongly inspired by jshosomichi/ifx.
How to Use
Set up
dependencies {
compile 'net.petitviolet.android:ifx:latest-version'
}
Interface
/** returns primitive value pattern **/
// if ~ else if ~ else
String result = IFx.<String>of(false).then("hoge")
.ElseIf(false).then("foo")
.Else("bar");
assert result == "bar";
// if ~ else if ~
String result2 = IFx.<String>of(true).then("hoge")
.ElseIf(false).then("foo")
.get();
assert result2 == "hoge";
// not matched
String result3 = IFx.<String>of(false).then("hoge").get()
assert result3 == null;
/** returns value the result of given method invoked **/
String result4 = IFx.<String>of(false).then(new Action<String>() {
@Override
public String run() {
return "hoge";
}
}).ElseIf(true).then(new Action<String>() {
@Override
public String run() {
return "foo";
}
}).Else(new Action<String>() {
@Override
public String run() {
Log.d(TAG, "in else condition!");
return "bar";
}
});
assert result4 == "foo";
// with lambda expression
String result5 = IFx.<String>of(false).then(() -> "hoge")
.ElseIf(true).then(() -> "foo")
.Else(() -> {
Log.d(TAG, "in else condition!");
return "bar";
});
assert result5 == "foo";
Lisence
This code is licensed under the Apache Software License 2.0.