Skip to content

Commit 99381e0

Browse files
authored
BAEL-4588: Update Guide To Java 8 Optional (eugenp#9995)
* BAEL-4588: Fix maven-shade-plugin version * BAEL-4588: Add empty core-java-11-2 module structure * BAEL-4588: Move Guide To Java 8 Optional to core-java-11-2 * BAEL-4588: Add Java 10 orElseThrow() example
1 parent 3d27915 commit 99381e0

8 files changed

Lines changed: 68 additions & 4 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Core Java 11
2+
3+
This module contains articles about Java 11 core features
4+
5+
### Relevant articles
6+
- [Guide to Java 8 Optional](https://www.baeldung.com/java-optional)
7+
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6+
<modelVersion>4.0.0</modelVersion>
7+
<artifactId>core-java-11-2</artifactId>
8+
<version>0.1.0-SNAPSHOT</version>
9+
<name>core-java-11-2</name>
10+
<packaging>jar</packaging>
11+
12+
<parent>
13+
<groupId>com.baeldung</groupId>
14+
<artifactId>parent-modules</artifactId>
15+
<version>1.0.0-SNAPSHOT</version>
16+
<relativePath>../..</relativePath>
17+
</parent>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>org.assertj</groupId>
22+
<artifactId>assertj-core</artifactId>
23+
<version>${assertj.version}</version>
24+
<scope>test</scope>
25+
</dependency>
26+
</dependencies>
27+
28+
<build>
29+
<plugins>
30+
<plugin>
31+
<groupId>org.apache.maven.plugins</groupId>
32+
<artifactId>maven-compiler-plugin</artifactId>
33+
<version>${maven-compiler-plugin.version}</version>
34+
<configuration>
35+
<source>${maven.compiler.source.version}</source>
36+
<target>${maven.compiler.target.version}</target>
37+
</configuration>
38+
</plugin>
39+
</plugins>
40+
</build>
41+
42+
<properties>
43+
<maven.compiler.source.version>11</maven.compiler.source.version>
44+
<maven.compiler.target.version>11</maven.compiler.target.version>
45+
<assertj.version>3.17.2</assertj.version>
46+
</properties>
47+
48+
</project>

core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Modem.java renamed to core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Modem.java

File renamed without changes.

core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Person.java renamed to core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Person.java

File renamed without changes.

core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java renamed to core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import java.util.function.Supplier;
88
import java.util.stream.Stream;
99

10-
import static org.junit.Assert.*;
10+
import static org.junit.Assert.assertEquals;
11+
import static org.junit.Assert.assertFalse;
12+
import static org.junit.Assert.assertTrue;
1113

1214
public class OptionalChainingUnitTest {
1315

core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalUnitTest.java renamed to core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalUnitTest.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
import java.util.NoSuchElementException;
1010
import java.util.Optional;
1111

12-
import static org.junit.Assert.*;
12+
import static org.junit.Assert.assertEquals;
13+
import static org.junit.Assert.assertFalse;
14+
import static org.junit.Assert.assertTrue;
1315

1416
public class OptionalUnitTest {
1517

@@ -262,6 +264,12 @@ public void whenOrElseThrowWorks_thenCorrect() {
262264
.orElseThrow(IllegalArgumentException::new);
263265
}
264266

267+
@Test(expected = NoSuchElementException.class)
268+
public void whenNoArgOrElseThrowWorks_thenCorrect() {
269+
String nullName = null;
270+
String name = Optional.ofNullable(nullName).orElseThrow();
271+
}
272+
265273
public String getMyDefault() {
266274
LOG.debug("Getting default value...");
267275
return "Default Value";

core-java-modules/core-java-11/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
<uberjar.name>benchmarks</uberjar.name>
108108
<jmh.version>1.22</jmh.version>
109109
<eclipse.collections.version>10.0.0</eclipse.collections.version>
110-
<shade.plugin.version>10.0.0</shade.plugin.version>
110+
<shade.plugin.version>3.2.4</shade.plugin.version>
111111
</properties>
112112

113113
</project>

core-java-modules/core-java-optional/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ This module contains articles about Java Optional.
44

55
### Relevant Articles:
66
- [Java Optional as Return Type](https://www.baeldung.com/java-optional-return)
7-
- [Guide to Java 8 Optional](https://www.baeldung.com/java-optional)
87
- [Java Optional – orElse() vs orElseGet()](https://www.baeldung.com/java-optional-or-else-vs-or-else-get)
98
- [Transforming an Empty String into an Empty Optional](https://www.baeldung.com/java-empty-string-to-empty-optional)
109
- [Filtering a Stream of Optionals in Java](https://www.baeldung.com/java-filter-stream-of-optional)

0 commit comments

Comments
 (0)