/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.configuration; /** * Sub-interface of {@link ConfigurationSegment} that adds write/update methods. * * @author Robert Mischke * @author David Scholz */ public interface WritableConfigurationSegment extends ConfigurationSegment { /** * Adds or replaces a string field. * * @param key the field name * @param value the new value * @throws ConfigurationException if editing the configuration failed */ void setString(String key, String value) throws ConfigurationException; /** * Adds or replaces a boolean field. * * @param key the field name * @param value the new value * @throws ConfigurationException if editing the configuration failed */ void setBoolean(String key, boolean value) throws ConfigurationException; /** * * Adds or replaces an integer field. * * @param key the field name. * @param value the new value. * @throws ConfigurationException if editing the configuration failed. */ void setInteger(String key, Integer value) throws ConfigurationException; /** * * Adds or replaces a long field. * * @param key the field name. * @param value the new value. * @throws ConfigurationException if editing the configuration failed. */ void setLong(String key, Long value) throws ConfigurationException; // void setFloat(String relativePath, Double value); /** * Adds or replaces a string array. * * @param key the field name * @param value the new value * @throws ConfigurationException if editing the configuration failed */ void setStringArray(String key, String[] value) throws ConfigurationException; /** * Creates a new element, which can then be edited. * * @param id the new element's id * @return a {@link WritableConfigurationSegment} representing the new element * @throws ConfigurationException if such an element already exists, or if editing the configuration failed */ WritableConfigurationSegment createElement(String id) throws ConfigurationException; /** * Deletes the element for the given id. If no such element exists, "false" is returned, otherwise "true". * * @param id the new element's id * @return whether an element actually existed for the given id * @throws ConfigurationException if editing the configuration failed */ boolean deleteElement(String id) throws ConfigurationException; }