From 07fd22914ba845be72c696f0078a072e903581a2 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 2 Aug 2016 21:29:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20ifPresent=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20MapValue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/annimon/ownlang/lib/MapValue.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/annimon/ownlang/lib/MapValue.java b/src/main/java/com/annimon/ownlang/lib/MapValue.java index 40ba519..5d3d33e 100644 --- a/src/main/java/com/annimon/ownlang/lib/MapValue.java +++ b/src/main/java/com/annimon/ownlang/lib/MapValue.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Objects; +import java.util.function.Consumer; /** * @@ -31,6 +32,18 @@ public class MapValue implements Value, Iterable> { this.map = map; } + public boolean ifPresent(String key, Consumer consumer) { + return ifPresent(new StringValue(key), consumer); + } + + public boolean ifPresent(Value key, Consumer consumer) { + if (map.containsKey(key)) { + consumer.accept(map.get(key)); + return true; + } + return false; + } + public ArrayValue toPairs() { final int size = map.size(); final ArrayValue result = new ArrayValue(size);