/******************************************************************************* * This file is part of the Symfony eclipse plugin. * * (c) Robert Gruendler <r.gruendler@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. ******************************************************************************/ package com.dubture.symfony.core.preferences; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.json.simple.JSONArray; import org.json.simple.parser.JSONParser; import com.dubture.symfony.core.log.Logger; import com.dubture.symfony.core.preferences.CorePreferenceConstants.Keys; /** * * Provides acces to the {@link IEclipsePreferences} on a * ProjectScope, falls back to the Workspace preferences * if not project scoped value is there. * * * @author Robert Gruendler <r.gruendler@gmail.com> * */ public class ProjectOptions { private ProjectOptions() { } /** * * Retrieve the synthetic services of a project. * * * @param project * @return */ public static final JSONArray getSyntheticServices(IProject project) { JSONArray defaultSynthetics = null; try { CorePreferencesSupport prefs = CorePreferencesSupport.getInstance(); String synths = prefs.getPreferencesValue(Keys.SYNTHETIC_SERVICES, null, project); Logger.debugMSG("LOADED DEFAULTS: " + synths); JSONParser parser = new JSONParser(); defaultSynthetics = (JSONArray) parser.parse(synths); } catch (Exception e) { Logger.logException(e); } return defaultSynthetics; } public static final String getDefaultSyntheticServices() { return CorePreferencesSupport.getInstance().getWorkspacePreferencesValue(Keys.SYNTHETIC_SERVICES); } public static final boolean setSupportingTwig(boolean value, IProject project) { return CorePreferencesSupport.getInstance() .setProjectSpecificPreferencesValue(Keys.TWIG_SUPPORT, Boolean.toString(value), project); } }