/*******************************************************************************
 * Copyright (c) 2004-2008 Istvan Rath and Daniel Varro
 * 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:
 *    Istvan Rath - initial API and implementation
 *******************************************************************************/

 package org.eclipse.viatra2.treeeditor.wizard;

public class WizardCategoryContributor implements IWizardCategoryContributor {

	String ID;
	String Name;
	String PluginID;
	
	public WizardCategoryContributor(String id, String name, String pid)
	{
		ID = id;
		Name = name;
		PluginID = pid;
	}
	
	public String getID() {
		return ID;
	}

	public String getName() {
		return Name;
	}
	
	public String getPluginID() {
		return PluginID;
	}

}
