diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/templates/MapContext.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/templates/MapContext.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/MapContext.java b/container-search/src/main/java/com/yahoo/prelude/templates/MapContext.java new file mode 100644 index 00000000000..328faee5c29 --- /dev/null +++ b/container-search/src/main/java/com/yahoo/prelude/templates/MapContext.java @@ -0,0 +1,32 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.prelude.templates; + +import java.util.Collection; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + +/** A context having a map as secondary storage */ +public class MapContext extends Context { + + private Map<String, Object> map = new LinkedHashMap<>(); + + @Override + public Object get(String key) { + return normalizeValue(map.get(key)); + } + + public Object put(String name, Object value) { + return map.put(name, value); + } + + public Object remove(Object name) { + return map.remove(name); + } + + @Override + public Collection<? extends Object> getKeys() { + return map.keySet(); + } + +} |