/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.plugin.config; import java.util.Collection; import java.util.Map; import java.util.Set; import com.enonic.cms.api.plugin.PluginConfig; final class PluginConfigImpl implements PluginConfig { private final Map<String, String> map; public PluginConfigImpl( final Map<String, String> map ) { this.map = map; } public String getString( final String key ) { return getString( key, null ); } public String getString( final String key, final String defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } return value; } public Boolean getBoolean( final String key ) { return getBoolean( key, null ); } public Boolean getBoolean( final String key, final Boolean defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } return "true".equals(value) ? Boolean.TRUE : Boolean.FALSE; } public Integer getInteger( final String key ) { return getInteger( key, null ); } public Integer getInteger( final String key, final Integer defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } try { return Integer.parseInt( value ); } catch ( final Exception e ) { return defValue; } } public Long getLong( final String key ) { return getLong( key, null ); } public Long getLong( final String key, final Long defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } try { return Long.parseLong( value ); } catch ( final Exception e ) { return defValue; } } public Float getFloat( final String key ) { return getFloat( key, null ); } public Float getFloat( final String key, final Float defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } try { return Float.parseFloat( value ); } catch ( final Exception e ) { return defValue; } } public Double getDouble( final String key ) { return getDouble( key, null ); } public Double getDouble( final String key, final Double defValue ) { final String value = get( key ); if ( value == null ) { return defValue; } try { return Double.parseDouble( value ); } catch ( final Exception e ) { return defValue; } } public int size() { return this.map.size(); } public boolean isEmpty() { return this.map.isEmpty(); } public boolean containsKey( final Object key ) { return this.map.containsKey( key ); } public boolean containsValue( final Object value ) { return this.map.containsValue( value ); } public String get( Object key ) { return this.map.get( key ); } public String put( final String key, final String value ) { throw new UnsupportedOperationException(); } public String remove( final Object key ) { throw new UnsupportedOperationException(); } public void putAll( final Map<? extends String, ? extends String> map ) { throw new UnsupportedOperationException(); } public void clear() { throw new UnsupportedOperationException(); } public Set<String> keySet() { return this.map.keySet(); } public Collection<String> values() { return this.map.values(); } public Set<Entry<String, String>> entrySet() { return this.map.entrySet(); } }