diff --git a/gson/build.gradle.kts b/gson/build.gradle.kts new file mode 100644 index 0000000..37021ac --- /dev/null +++ b/gson/build.gradle.kts @@ -0,0 +1,16 @@ +/* + * Examples for Java + * + * Copyright (c) 2021. Elex. All Rights Reserved. + * https://www.elex-project.com/ + */ + +plugins { + id("elex-java") +} + +dependencies { +// https://mvnrepository.com/artifact/com.google.code.gson/gson + implementation("com.google.code.gson:gson:2.10.1") + +} diff --git a/gson/logback.xml b/gson/logback.xml new file mode 100644 index 0000000..74ff8a3 --- /dev/null +++ b/gson/logback.xml @@ -0,0 +1,20 @@ + + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + diff --git a/gson/src/main/java/kr/pe/elex/examples/GsonSample.java b/gson/src/main/java/kr/pe/elex/examples/GsonSample.java new file mode 100644 index 0000000..55ceded --- /dev/null +++ b/gson/src/main/java/kr/pe/elex/examples/GsonSample.java @@ -0,0 +1,32 @@ +/* + * Examples for Java + * + * Copyright (c) 2021. Elex. All Rights Reserved. + * https://www.elex-project.com/ + */ + +package kr.pe.elex.examples; + +import com.elex_project.abraxas.Console; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class GsonSample { + + public static void main(String... args){ + Gson gson = new GsonBuilder().create(); + + // to json + Person charlie = new Person("Charlie", 13); + String json = gson.toJson(charlie); + Console.writeLine(json); + + // from json + Person steve = gson.fromJson("{'name':'Steve', 'age':43}", Person.class); + Console.writeLine(steve); + } + + +} diff --git a/gson/src/main/java/kr/pe/elex/examples/Person.java b/gson/src/main/java/kr/pe/elex/examples/Person.java new file mode 100644 index 0000000..86ac3fe --- /dev/null +++ b/gson/src/main/java/kr/pe/elex/examples/Person.java @@ -0,0 +1,22 @@ +/* + * Examples for Java + * + * Copyright (c) 2023. Elex. All Rights Reserved. + * https://www.elex-project.com/ + */ + +package kr.pe.elex.examples; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Person { + private String name; + private int age; +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 3d6fbb0..07afe4f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,5 +15,5 @@ include( "xml", "jackson", "jsoup", "markdown", "network", "httpd", "properties", "serial-io", "mustache", "thymeleaf", "locale", "quartz", "sysinfo", - "imaging", "stream", "sound", "midi" + "imaging", "stream", "sound", "midi", "gson" ) diff --git a/stream/src/main/java/kr/pe/elex/examples/Sample.java b/stream/src/main/java/kr/pe/elex/examples/Sample.java index 8a60fd7..6f7a8e9 100644 --- a/stream/src/main/java/kr/pe/elex/examples/Sample.java +++ b/stream/src/main/java/kr/pe/elex/examples/Sample.java @@ -19,8 +19,11 @@ public class Sample { } - public Stream toStream(List list) { - return null == list ? Stream.empty() : list.stream(); + /* + list to stream + */ + public Stream toStream(final List list) { + return (null == list || list.isEmpty()) ? Stream.empty() : list.stream(); }