Merge pull request #33 from kemitix/update-documentation
Update documentation
This commit is contained in:
commit
af8d551cfb
4 changed files with 278 additions and 339 deletions
15
CHANGELOG
15
CHANGELOG
|
@ -1,15 +1,30 @@
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
0.7.0
|
||||||
|
-----
|
||||||
|
|
||||||
|
* Deprecate `Value.andNot(Supplier)`
|
||||||
|
|
||||||
0.6.0
|
0.6.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
* Remove `.travis-support`
|
||||||
|
* Add `Condition.isTrue()`
|
||||||
|
* Add `Condition.isFalse()`
|
||||||
|
* Add `Condition.not()`
|
||||||
* Add `Condition.and(Condition)`
|
* Add `Condition.and(Condition)`
|
||||||
* Add `Condition.or(Condition)`
|
* Add `Condition.or(Condition)`
|
||||||
* Add `Condition.not()`
|
* Add `Condition.not()`
|
||||||
* Deprecate `Condition.whereNot(boolean)`
|
* Deprecate `Condition.whereNot(boolean)`
|
||||||
* Deprecate `Condition.andNot(boolean)`
|
* Deprecate `Condition.andNot(boolean)`
|
||||||
* Deprecate `Condition.orNot(boolean)`
|
* Deprecate `Condition.orNot(boolean)`
|
||||||
|
* Add `Condition.flatMap(Function<Boolean, Condition>)` to make `Condition` a monad
|
||||||
|
* Add `Value.where(Condition, Supplier, Supplier)`
|
||||||
|
* Add `Value.where(Condition, Supplier)`
|
||||||
|
* Add `Value.where(Condition)`
|
||||||
|
* Deprecate `Value.whereNot(boolean)`
|
||||||
|
* Add `ValueClause.not()`
|
||||||
|
|
||||||
0.5.0
|
0.5.0
|
||||||
-----
|
-----
|
||||||
|
|
337
README.adoc
337
README.adoc
|
@ -1,337 +0,0 @@
|
||||||
# Conditional
|
|
||||||
|
|
||||||
image:https://img.shields.io/github/release/kemitix/conditional.svg["Releases", link="https://github.com/kemitix/conditional/releases"]
|
|
||||||
image:https://api.codacy.com/project/badge/Grade/1188742d676e457da91415d2b3a5faf1["Codacy code quality", link="https://www.codacy.com/app/kemitix/conditional"]
|
|
||||||
image:https://travis-ci.org/kemitix/conditional.svg?branch=master["Build Status", link="https://travis-ci.org/kemitix/conditional"]
|
|
||||||
image:https://coveralls.io/repos/github/kemitix/conditional/badge.svg?branch=master["Coverage Status", link="https://coveralls.io/github/kemitix/conditional?branch=master"]
|
|
||||||
|
|
||||||
* link:#condition[Condition]
|
|
||||||
* link:#value[Value]
|
|
||||||
|
|
||||||
## Condition
|
|
||||||
|
|
||||||
If-then-else in a functional-style.
|
|
||||||
|
|
||||||
### if-then
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue()) {
|
|
||||||
doSomething();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.then(() -> doSomething());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-and-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue() && isAlsoTrue()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.and(() -> isAlsoTrue())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-or-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue() || alternativeIsTrue()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.or(() -> alternativeIsTrue())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (!isFalse()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.whereNot(isFalse())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-and-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue() || !isFalse()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.andNot(() -> isFalse())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-or-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isFalse() || !isAlsoFalse()) {
|
|
||||||
doSomething();
|
|
||||||
} else {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isFalse())
|
|
||||||
.orNot(() -> isAlsoFalse())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-then-else-if
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isFalse()) {
|
|
||||||
doSomething();
|
|
||||||
} else if (isTrue()) {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isFalse())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.otherwise(() -> isTrue())
|
|
||||||
.then(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-then-if-then
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
if (isTrue()) {
|
|
||||||
doSomething();
|
|
||||||
if (isAlsoTrue()) {
|
|
||||||
doSomethingElse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
Condition.where(isTrue())
|
|
||||||
.then(() -> doSomething())
|
|
||||||
.and(() -> isAlsoTrue())
|
|
||||||
.then(() -> doSomethingElse());
|
|
||||||
----
|
|
||||||
|
|
||||||
## Value
|
|
||||||
|
|
||||||
Values from an if-then-else in a functional-style.
|
|
||||||
|
|
||||||
Functional, and verbose, alternative to the ternary operator (`?:`).
|
|
||||||
|
|
||||||
### if-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (isTrue()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result = isTrue() ? TRUE : FALSE;
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.where(isTrue(), () -> TRUE, () -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final Optional<String> result = Value.where(isTrue(), () -> TRUE);
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>where(isTrue())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (!isTrue()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>whereNot(isTrue())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-and-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (isTrue() && alternativeIsTrue()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>where(isTrue())
|
|
||||||
.and(() -> alternativeIsTrue())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-and-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (isTrue() && !alternativeIsFalse()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>where(isTrue())
|
|
||||||
.andNot(() -> alternativeIsFalse())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-or-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (isTrue() || alternativeIsTrue()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>where(isTrue())
|
|
||||||
.or(() -> alternativeIsTrue())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-or-not-then-else
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
String result;
|
|
||||||
if (isTrue() || !isFalse()) {
|
|
||||||
result = TRUE;
|
|
||||||
} else {
|
|
||||||
result = FALSE;
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
----
|
|
||||||
final String result = Value.<String>where(isTrue())
|
|
||||||
.orNot(() -> isFalse())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.otherwise(() -> FALSE);
|
|
||||||
----
|
|
||||||
|
|
||||||
### if-then
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
-----
|
|
||||||
Optional<String> result;
|
|
||||||
if (isTrue()) {
|
|
||||||
result = Optional.of(TRUE);
|
|
||||||
} else {
|
|
||||||
result = Optional.empty();
|
|
||||||
}
|
|
||||||
-----
|
|
||||||
|
|
||||||
[[source,java]]
|
|
||||||
-----
|
|
||||||
final Optional<String> result = Value.<String>where(isTrue())
|
|
||||||
.then(() -> TRUE)
|
|
||||||
.optional();
|
|
||||||
-----
|
|
259
README.org
Normal file
259
README.org
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
* Conditional
|
||||||
|
|
||||||
|
|
||||||
|
** Functional Condition and Value.
|
||||||
|
|
||||||
|
[[https://oss.sonatype.org/content/repositories/releases/net/kemitix/conditional][file:https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix/conditional.svg?style=for-the-badge]]
|
||||||
|
[[https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.kemitix%22%20AND%20a%3A%22conditional%22][file:https://img.shields.io/maven-central/v/net.kemitix/conditional.svg?style=for-the-badge]]
|
||||||
|
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix%3Aconditional/coverage.svg?style=for-the-badge#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix%3Aconditional/tech_debt.svg?style=for-the-badge#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=sqale_rating#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=alert_status#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=reliability_rating#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=security_rating#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=sqale_index#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=vulnerabilities#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=bugs#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=code_smells#.svg]]
|
||||||
|
[[https://sonarcloud.io/dashboard?id=net.kemitix%3Aconditional][file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix%3Aconditional&metric=ncloc#.svg]]
|
||||||
|
|
||||||
|
[[https://app.codacy.com/project/kemitix/conditional/dashboard][file:https://img.shields.io/codacy/grade/1188742d676e457da91415d2b3a5faf1.svg?style=for-the-badge]]
|
||||||
|
[[http://i.jpeek.org/net.kemitix/conditional/index.html][file:http://i.jpeek.org/net.kemitix/conditional/badge.svg]]
|
||||||
|
|
||||||
|
|
||||||
|
** Maven
|
||||||
|
|
||||||
|
#+BEGIN_SRC xml
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.kemitix</groupId>
|
||||||
|
<artifactId>conditional</artifactId>
|
||||||
|
<version>RELEASE</version>
|
||||||
|
</dependency>
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
The latest version should be shown above with the nexus and maven-central
|
||||||
|
badges or can be found on [[https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.kemitix%22%20AND%20a%3A%22mon%22][Maven Central]].
|
||||||
|
|
||||||
|
|
||||||
|
** Condition
|
||||||
|
|
||||||
|
The `if ... then` and `if ... then ... else` constructs can't be used in a
|
||||||
|
lambda without being wrapped in a code block.
|
||||||
|
|
||||||
|
Using `Condition` allows the use of an if-style expression without needing to
|
||||||
|
wrap it in a code block
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isTrue()) {
|
||||||
|
doSomething();
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isTrue())
|
||||||
|
.then(() -> doSomething());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isTrue()) {
|
||||||
|
doSomething();
|
||||||
|
} else {
|
||||||
|
doSomethingElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isTrue())
|
||||||
|
.then(() -> doSomething())
|
||||||
|
.otherwise(() -> doSomethingElse());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** isTrue() / isFalse() / not()
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
final Condition condition = Condition.where(isTrue());
|
||||||
|
final boolean isTrue = condition.isTrue();
|
||||||
|
final boolean isFalse = condition.isFalse();
|
||||||
|
final Condition not = condition.not();
|
||||||
|
final Condition andCondition1 = condition.and(Condition.where(isAlsoTrue()));
|
||||||
|
final Condition andCondition2 = condition.and(isAlsoTrue());
|
||||||
|
final Condition orCondition1 = condition.or(Condition.where(isAlsoTrue()));
|
||||||
|
final Condition orCondition2 = condition.or(isAlsoTrue());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** flatMap(Function<Boolean, Condition>)
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
final Condition condition = Condition.where(isTrue())
|
||||||
|
.flatMap(b -> Condition.where(b));
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-and-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isTrue() && isAlsoTrue()) {
|
||||||
|
doSomething();
|
||||||
|
} else {
|
||||||
|
doSomethingElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isTrue())
|
||||||
|
.and(() -> isAlsoTrue())
|
||||||
|
.then(() -> doSomething())
|
||||||
|
.otherwise(() -> doSomethingElse());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-or-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isTrue() || alternativeIsTrue()) {
|
||||||
|
doSomething();
|
||||||
|
} else {
|
||||||
|
doSomethingElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isTrue())
|
||||||
|
.or(() -> alternativeIsTrue())
|
||||||
|
.then(() -> doSomething())
|
||||||
|
.otherwise(() -> doSomethingElse());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then-else-if
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isFalse()) {
|
||||||
|
doSomething();
|
||||||
|
} else if (isTrue()) {
|
||||||
|
doSomethingElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isFalse())
|
||||||
|
.then(() -> doSomething())
|
||||||
|
.otherwise(() -> isTrue())
|
||||||
|
.then(() -> doSomethingElse());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then-if-then
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
if (isTrue()) {
|
||||||
|
doSomething();
|
||||||
|
if (isAlsoTrue()) {
|
||||||
|
doSomethingElse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Condition.where(isTrue())
|
||||||
|
.then(() -> doSomething())
|
||||||
|
.and(() -> isAlsoTrue())
|
||||||
|
.then(() -> doSomethingElse());
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
** Value
|
||||||
|
|
||||||
|
Values from an if-then-else in a functional-style.
|
||||||
|
|
||||||
|
Functional, and verbose, alternative to the ternary operator (=?:=).
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
String result;
|
||||||
|
if (isTrue()) {
|
||||||
|
result = TRUE;
|
||||||
|
} else {
|
||||||
|
result = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
String result = isTrue() ? TRUE : FALSE;
|
||||||
|
|
||||||
|
final String result = Value.where(isTrue(), () -> TRUE, () -> FALSE);
|
||||||
|
|
||||||
|
final String result = Value.where(Condition.where(isTrue), () -> TRUE, () -> FALSE);
|
||||||
|
|
||||||
|
final Optional<String> result = Value.where(isTrue(), () -> TRUE);
|
||||||
|
|
||||||
|
final String result = Value.<String>where(isTrue())
|
||||||
|
.not()
|
||||||
|
.then(() -> FALSE)
|
||||||
|
.otherwise(() -> TRUE);
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-and-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
String result;
|
||||||
|
if (isTrue() && alternativeIsTrue()) {
|
||||||
|
result = TRUE;
|
||||||
|
} else {
|
||||||
|
result = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String result = Value.<String>where(isTrue())
|
||||||
|
.and(() -> alternativeIsTrue())
|
||||||
|
.then(() -> TRUE)
|
||||||
|
.otherwise(() -> FALSE);
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-or-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
String result;
|
||||||
|
if (isTrue() || alternativeIsTrue()) {
|
||||||
|
result = TRUE;
|
||||||
|
} else {
|
||||||
|
result = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String result = Value.<String>where(isTrue())
|
||||||
|
.or(() -> alternativeIsTrue())
|
||||||
|
.then(() -> TRUE)
|
||||||
|
.otherwise(() -> FALSE);
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-or-not-then-else
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
String result;
|
||||||
|
if (isTrue() || !isFalse()) {
|
||||||
|
result = TRUE;
|
||||||
|
} else {
|
||||||
|
result = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String result = Value.<String>where(isTrue())
|
||||||
|
.orNot(() -> isFalse())
|
||||||
|
.then(() -> TRUE)
|
||||||
|
.otherwise(() -> FALSE);
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
*** if-then
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
|
Optional<String> result;
|
||||||
|
if (isTrue()) {
|
||||||
|
result = Optional.of(TRUE);
|
||||||
|
} else {
|
||||||
|
result = Optional.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
final Optional<String> result = Value.<String>where(isTrue())
|
||||||
|
.then(() -> TRUE)
|
||||||
|
.optional();
|
||||||
|
#+END_SRC
|
||||||
|
|
|
@ -134,7 +134,7 @@ public interface Value {
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
static <T> ValueClause<T> whereNot(final boolean clause) {
|
static <T> ValueClause<T> whereNot(final boolean clause) {
|
||||||
return where(!clause);
|
return Value.<T>where(clause).not();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -181,9 +181,11 @@ public interface Value {
|
||||||
*
|
*
|
||||||
* @param clause the condition to test
|
* @param clause the condition to test
|
||||||
* @return a true or false value clause
|
* @return a true or false value clause
|
||||||
|
* @deprecated use {@link #and(Supplier)}.{@link #not()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
default ValueClause<T> andNot(final Supplier<Boolean> clause) {
|
default ValueClause<T> andNot(final Supplier<Boolean> clause) {
|
||||||
return and(() -> !clause.get());
|
return and(clause).not();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue