// Copyright (c) 2003-2004 by Leif Frenzel - see http://leiffrenzel.de package net.sf.eclipsefp.common.ui.preferences.overlay; import org.eclipse.jface.preference.IPreferenceStore; /** <p>helper for the overlay store.</p> * * @author Leif Frenzel */ class Loader { static void loadProperty( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( OverlayType.BOOLEAN == key.getType() ) { setBooleanValue( store, key, target, forceInitialization ); } else if( OverlayType.DOUBLE == key.getType() ) { setDoubleValue( store, key, target, forceInitialization ); } else if( OverlayType.FLOAT == key.getType() ) { setFloatValue( store, key, target, forceInitialization ); } else if( OverlayType.INT == key.getType() ) { setIntValue( store, key, target, forceInitialization ); } else if( OverlayType.LONG == key.getType() ) { setLongValue( store, key, target, forceInitialization ); } else if( OverlayType.STRING == key.getType() ) { setStringValue( store, key, target, forceInitialization ); } } // helping methods ////////////////// private static void setStringValue( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), "1" ); //$NON-NLS-1$ } target.setValue( key.getKey(), store.getString( key.getKey() ) ); target.setDefault( key.getKey(), store.getDefaultString( key.getKey() ) ); } private static void setLongValue( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), 1L ); } target.setValue( key.getKey(), store.getLong( key.getKey() ) ); target.setDefault( key.getKey(), store.getDefaultLong( key.getKey() ) ); } private static void setIntValue( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), 1 ); } target.setValue( key.getKey(), store.getInt( key.getKey() ) ); target.setDefault( key.getKey(), store.getDefaultInt( key.getKey() ) ); } private static void setFloatValue( final IPreferenceStore orig, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), 1.0F ); } target.setValue( key.getKey(), orig.getFloat( key.getKey() ) ); target.setDefault( key.getKey(), orig.getDefaultFloat( key.getKey() ) ); } private static void setDoubleValue( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), 1.0D ); } target.setValue( key.getKey(), store.getDouble( key.getKey() ) ); target.setDefault( key.getKey(), store.getDefaultDouble( key.getKey() ) ); } private static void setBooleanValue( final IPreferenceStore store, final OverlayKey key, final IPreferenceStore target, final boolean forceInitialization ) { if( forceInitialization ) { target.setValue( key.getKey(), true ); } target.setValue( key.getKey(), store.getBoolean( key.getKey() ) ); target.setDefault( key.getKey(), store.getDefaultBoolean( key.getKey() ) ); } }