1 package org.fax4j.common; 2 3 import java.util.Map; 4 5 /** 6 * Common interface for configuration holder components. 7 * 8 * @author Sagie Gur-Ari 9 * @version 1.01 10 * @since 0.41.7 11 */ 12 public interface ConfigurationHolder { 13 /** 14 * Returns the property part.<br> 15 * Property parts enables to replace the input request key with the part defined to enable to reuse services with 16 * different configuration blocks.<br> 17 * Property parts will be replaced with the {0} values in the key, for example org.fax4j.{0}.somekey with part abc 18 * will be replaced to org.fax4j.abc.somekey 19 * 20 * @return The property part 21 */ 22 String getPropertyPart(); 23 24 /** 25 * Returns the configuration. 26 * 27 * @return The configuration 28 */ 29 Map<String, String> getConfiguration(); 30 31 /** 32 * Returns the value from the component configuration based on the provided configuration key. The value will be 33 * trimmed.<br> 34 * If the trimmed configuration value is an empty string, null will be returned instead. 35 * 36 * @param key 37 * The configuration key 38 * @return The value 39 */ 40 String getConfigurationValue(String key); 41 42 /** 43 * Returns the value from the component configuration based on the provided configuration key. The value will be 44 * trimmed.<br> 45 * If the trimmed configuration value is an empty string, null will be returned instead. 46 * 47 * @param key 48 * The configuration key (toString value will be used) 49 * @return The value 50 */ 51 String getConfigurationValue(Enum<?> key); 52 }