Copyright (c) 2004, 2015 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2004, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.internal.preferences;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
Abstract super-class for scope context object contributed
by the Platform.
Since: 3.0
/**
* Abstract super-class for scope context object contributed
* by the Platform.
*
* @since 3.0
*/
public abstract class AbstractScope implements IScopeContext {
@Override
public abstract String getName();
/*
* Default path hierarchy for nodes is /<scope>/<qualifier>.
*
* @see org.eclipse.core.runtime.preferences.IScopeContext#getNode(java.lang.String)
*/
@Override
public IEclipsePreferences getNode(String qualifier) {
if (qualifier == null)
throw new IllegalArgumentException();
return (IEclipsePreferences) PreferencesService.getDefault().getRootNode().node(getName()).node(qualifier);
}
@Override
public abstract IPath getLocation();
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!(obj instanceof IScopeContext))
return false;
IScopeContext other = (IScopeContext) obj;
if (!getName().equals(other.getName()))
return false;
IPath location = getLocation();
return location == null ? other.getLocation() == null : location.equals(other.getLocation());
}
@Override
public int hashCode() {
return getName().hashCode();
}
}