/*******************************************************************************
 * Copyright (c) 2000, 2006 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
 *******************************************************************************/
package org.eclipse.ui.tests.decorators;

import org.eclipse.core.resources.IResource;

public class TestResourceDecoratorContributor extends TestAdaptableDecoratorContributor {
    public static final String SUFFIX = "IResource.1";
    public static final String ID = "org.eclipse.ui.tests.decorators.resourceDescorator";
    public TestResourceDecoratorContributor() {
        setExpectedElementType(IResource.class);
        setSuffix(SUFFIX);
    }
}
