Java tutorial
/* * Copyright (c) 2009 Netcetera AG and others. * All rights reserved. * This program and the accompanying materials are made available under * the terms of the Eclipse Public License v1.0 which accompanies this * distribution, and is available at * * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * - Netcetera AG: initial implementation */ package ch.netcetera.eclipse.projectconfig.ui.handler; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.jface.preference.IPreferenceStore; import ch.netcetera.eclipse.projectconfig.ui.ProjectConfigurationUIPlugin; /** * Property tester for workspace settings. */ public final class ProjectStettingsPropertyTester extends PropertyTester { /** * The name of the property whether the settings URL is configured. */ public static final String URL_CONFIGURED = "urlConfigured"; /** * {@inheritDoc} */ @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { if (URL_CONFIGURED.equals(property)) { IPreferenceStore preferences = ProjectConfigurationUIPlugin.getDefault().getPreferenceStore(); String url = preferences.getString(ProjectConfigurationUIPlugin.CONFIG_CMDFILE_URL); return url.length() > 0 == toBoolean(expectedValue); } return false; } /** * Converts the given expected value to a boolean. * * @param expectedValue the expected value (may be <code>null</code>). * @return <code>false</code> if the expected value equals Boolean.FALSE, * <code>true</code> otherwise */ private static boolean toBoolean(Object expectedValue) { if (expectedValue instanceof Boolean) { return ((Boolean) expectedValue).booleanValue(); } return true; } }