11package dev .suresh ;
22
3+ import static dev .suresh .Expr .eval ;
4+ import static java .lang .System .out ;
5+ import static java .util .Objects .requireNonNull ;
6+
37import java .io .*;
48import java .lang .reflect .RecordComponent ;
59import java .nio .file .Files ;
610import java .util .Arrays ;
711import java .util .List ;
812import java .util .concurrent .CompletableFuture ;
913
10- import static dev .suresh .Expr .eval ;
11- import static java .lang .System .out ;
12- import static java .util .Objects .requireNonNull ;
13-
1414public class DOP {
1515 public static void run () throws Exception {
16- record Person (String name , int age ) {
17- }
16+ record Person (String name , int age ) {}
1817
1918 var future = new CompletableFuture <>();
20- var textBlock = """
19+ var textBlock =
20+ """
2121 This is text block
2222 This will join \
2323 with the line : %s
@@ -28,7 +28,8 @@ record Person(String name, int age) {
2828 \\ d+
2929 Escape char: \u00A0 \u2000 \u3000 \uFEFF \u200B \u200C \u200D \u2028 \u2029
3030 END
31- """ .formatted (new Person ("Foo" , 40 ));
31+ """
32+ .formatted (new Person ("Foo" , 40 ));
3233 future .complete (textBlock );
3334 out .println (future .get ());
3435
@@ -50,17 +51,16 @@ private static void stringTemplates() {
5051 out .printf ("x + y = %d%n" , x + y );
5152 }
5253
53- interface Name <T > {
54- }
54+ interface Name <T > {}
5555
56- record FullName <T >(T firstName , T lastName ) implements Name <T > {
57- }
56+ record FullName <T >(T firstName , T lastName ) implements Name <T > {}
5857
5958 private static <T > void print (Name <T > name ) {
60- var result = switch (name ) {
61- case FullName (var first , var last ) -> "%s, %s" .formatted (first , last );
62- default -> "Invalid name" ;
63- };
59+ var result =
60+ switch (name ) {
61+ case FullName (var first , var last ) -> "%s, %s" .formatted (first , last );
62+ default -> "Invalid name" ;
63+ };
6464 out .println (result );
6565
6666 if (name instanceof FullName <?> f ) {
@@ -95,7 +95,6 @@ private static void amberReflections() {
9595 }
9696 }
9797
98-
9998 private static void serializeRecord () throws Exception {
10099 // Local record
101100 record Lang (String name , int year ) implements Serializable {
@@ -123,24 +122,26 @@ record Lang(String name, int year) implements Serializable {
123122 try (var ois = new ObjectInputStream (new FileInputStream (serialFile ))) {
124123 Object rec ;
125124 while ((rec = ois .readObject ()) != null ) {
126- var result = switch (rec ) {
127- case Lang l when l .year >= 20 -> l .toString ();
128- case Lang (var name , var year ) -> name ;
129- case Result <?> r -> "Result value: %s" .formatted (r .getOrNull ());
130- default -> "Invalid serialized data. Expected Result, but found %s" .formatted (rec );
131- };
125+ var result =
126+ switch (rec ) {
127+ case Lang l when l .year >= 20 -> l .toString ();
128+ case Lang (var name , var year ) -> name ;
129+ case Result <?> r -> "Result value: %s" .formatted (r .getOrNull ());
130+ default -> "Invalid serialized data. Expected Result, but found %s" .formatted (rec );
131+ };
132132
133133 out .printf ("Deserialized record: %s%n" , rec );
134134 out .println (result );
135135 }
136136 }
137137
138138 results ().forEach (r -> {
139- var result = switch (r ) {
140- case null -> "n/a" ;
141- case Result .Success <?> s -> s .toString ();
142- case Result .Failure <?> f -> f .toString ();
143- };
139+ var result =
140+ switch (r ) {
141+ case null -> "n/a" ;
142+ case Result .Success <?> s -> s .toString ();
143+ case Result .Failure <?> f -> f .toString ();
144+ };
144145 out .printf ("Result (Sealed Type): %s%n" , result );
145146 });
146147 }
@@ -158,4 +159,3 @@ static Result<Number> getResult(Object obj) {
158159 };
159160 }
160161}
161-
0 commit comments