Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java @ 359:f93edbfcf2bc
Improved the Settings and Section interfaces and added default implementations for both.
artifacts/trunk@3416 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 14 Dec 2011 12:20:06 +0000 |
parents | a367a0d011af |
children | b77465617071 |
line wrap: on
line source
/* * Copyright (c) 2010 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.artifactdatabase; import java.util.HashMap; import org.w3c.dom.Document; import de.intevation.artifacts.GlobalContext; /** * Default implementation of the context. * Besides of the configuration it hosts a map to store key/value pairs. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class DefaultArtifactContext implements GlobalContext { /** * The global configuration document of the artifact database. */ protected Document config; /** * Custom key/value pairs to be used globally in the whole server. */ protected HashMap map; /** * Default constructor */ public DefaultArtifactContext() { this(null); } /** * Constructor to create a context with a given global * configuration document and an empty map of custom * key/value pairs. * @param config */ public DefaultArtifactContext(Document config) { this.config = config; map = new HashMap(); } /** * Fetch a custom value from the global key/value map using * a given key. * @param key The key. * @return The stored value or null if no value was found under * this key. */ public synchronized Object get(Object key) { return map.get(key); } /** * Store a custom key/value pair in the global map. * @param key The key to store * @param value The value to store * @return The old value registered under the key or null * if none wa there before. */ public synchronized Object put(Object key, Object value) { return map.put(key, value); } /** * Returns a reference to the global configuration document. * @return The global configuration document. */ public Document getConfig() { return config; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :