Skip to content

Commit a8fbedf

Browse files
author
nicolaiparlog
committed
''SerializableOptional' now has a factory method 'empty'.
1 parent 236cad7 commit a8fbedf

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/main/java/org/codefx/libfx/serialization/SerializableOptional.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,18 @@ public static <T extends Serializable> SerializableOptional<T> fromOptional(Opti
116116
return new SerializableOptional<>(optional);
117117
}
118118

119+
/**
120+
* Creates a serializable optional which wraps an empty optional.
121+
*
122+
* @param <T>
123+
* the type of the non-existent value
124+
* @return a {@link SerializableOptional} which wraps an {@link Optional#empty() empty} {@link Optional}
125+
* @see Optional#of(Object)
126+
*/
127+
public static <T extends Serializable> SerializableOptional<T> empty() {
128+
return new SerializableOptional<>(Optional.empty());
129+
}
130+
119131
/**
120132
* Creates a serializable optional for the specified value by wrapping it in an {@link Optional}.
121133
*

src/test/java/org/codefx/libfx/serialization/SerializableOptionalTest.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ public void testFromNonEmptyOptional() {
4747
assertEquals(nonEmpty, nonEmptySerializable.asOptional());
4848
}
4949

50+
/**
51+
* Tests whether an empty {@code SerializableOptional} can be created.
52+
*/
53+
@Test
54+
public void testEmpty() {
55+
SerializableOptional<String> emptySerializable = SerializableOptional.empty();
56+
57+
assertFalse(emptySerializable.asOptional().isPresent());
58+
}
59+
5060
/**
5161
* Tests whether calling {@link SerializableOptional#of(Serializable) of(null)} throws a
5262
* {@link NullPointerException}.
@@ -63,9 +73,9 @@ public void testOfWithNull() {
6373
@Test
6474
public void testOfWithNonNull() {
6575
String notNull = "Not Null!";
66-
SerializableOptional<String> emptySerializable = SerializableOptional.of(notNull);
76+
SerializableOptional<String> presentSerializable = SerializableOptional.of(notNull);
6777

68-
assertEquals(notNull, emptySerializable.asOptional().get());
78+
assertEquals(notNull, presentSerializable.asOptional().get());
6979
}
7080

7181
/**
@@ -86,9 +96,9 @@ public void testOfNullableWithNull() {
8696
@Test
8797
public void testOfNullableWithNonNull() {
8898
String notNull = "Not Null!";
89-
SerializableOptional<String> emptySerializable = SerializableOptional.ofNullable(notNull);
99+
SerializableOptional<String> presentSerializable = SerializableOptional.ofNullable(notNull);
90100

91-
assertEquals(notNull, emptySerializable.asOptional().get());
101+
assertEquals(notNull, presentSerializable.asOptional().get());
92102
}
93103

94104
// #end CONSTRUCTION

0 commit comments

Comments
 (0)