// SEIRRelativeValueColorProvider.java
package org.eclipse.stem.ui.adapters.color;

/*******************************************************************************
 * Copyright (c) 2007 IBM Corporation 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:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

/**
 * This interface is implemented by classes that will provide an SEIR relative
 * value for a specific adapted object (usually
 * {@link org.eclipse.stem.core.graph.Node}).
 */
public interface SEIRRelativeValueColorProvider extends
		RelativeValueColorProvider {
	// Marker interface
}// SEIRRelativeValueColorProvider
