001package de.deepamehta.core.model; 002 003import org.codehaus.jettison.json.JSONArray; 004 005 006 007/** 008 * @author <a href="mailto:jri@deepamehta.de">Jörg Richter</a> 009 */ 010public interface ViewConfigurationModel { 011 012 Iterable<? extends TopicModel> getConfigTopics(); 013 014 TopicModel getConfigTopic(String configTypeUri); 015 016 void addConfigTopic(TopicModel configTopic); 017 018 void updateConfigTopic(TopicModel configTopic); 019 020 // --- 021 022 /** 023 * FIXME: to be dropped. 024 * <p> 025 * Read out a view configuration setting. 026 * <p> 027 * Compare to client-side counterpart: function get_view_config() in webclient.js 028 * 029 * @param configTypeUri The type URI of the configuration topic, e.g. "dm4.webclient.view_config" 030 * @param settingUri The setting URI, e.g. "dm4.webclient.icon" 031 * 032 * @return The setting value, or <code>null</code> if there is no such setting 033 */ 034 Object getSetting(String configTypeUri, String settingUri); 035 036 // --- 037 038 JSONArray toJSONArray(); 039}