From f80f7b79a97714b430ae2b610c5709dc38fa39da Mon Sep 17 00:00:00 2001 From: Chirag Dewan Date: Fri, 1 Feb 2019 22:51:28 +0530 Subject: [PATCH] =?UTF-8?q?BAEL2567-New=20section=20on=20Lombok=E2=80=99s?= =?UTF-8?q?=20@Getter(lazy=3Dtrue)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/baeldung/singleton/GetterLazy.java | 10 ++++++ .../baeldung/lombok/getter/GetterLazy.java | 36 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 lombok-custom/src/main/java/com/baeldung/singleton/GetterLazy.java create mode 100644 lombok/src/main/java/com/baeldung/lombok/getter/GetterLazy.java diff --git a/lombok-custom/src/main/java/com/baeldung/singleton/GetterLazy.java b/lombok-custom/src/main/java/com/baeldung/singleton/GetterLazy.java new file mode 100644 index 0000000000..8d690ebde7 --- /dev/null +++ b/lombok-custom/src/main/java/com/baeldung/singleton/GetterLazy.java @@ -0,0 +1,10 @@ +package com.baeldung.singleton; + +import lombok.Getter; + + +public class GetterLazy { + + @Getter(lazy = true) + private final String name = "name"; +} diff --git a/lombok/src/main/java/com/baeldung/lombok/getter/GetterLazy.java b/lombok/src/main/java/com/baeldung/lombok/getter/GetterLazy.java new file mode 100644 index 0000000000..5ac82a74d8 --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/getter/GetterLazy.java @@ -0,0 +1,36 @@ +package com.baeldung.lombok.getter; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import lombok.Getter; + +public class GetterLazy { + + private static final String DELIMETER = ","; + + @Getter(lazy = true) + private final Map transactions = readTxnsFromFile(); + + private Map readTxnsFromFile() { + + final Map cache = new HashMap<>(); + List txnRows = readTxnListFromFile(); + + txnRows.forEach(s -> { + String[] txnIdValueTuple = s.split(DELIMETER); + cache.put(txnIdValueTuple[0], Long.parseLong(txnIdValueTuple[1])); + }); + + return cache; + } + + private List readTxnListFromFile() { + + // read large file + return Stream.of("file content here").collect(Collectors.toList()); + } +}