blob: 8e363330af015d0402da982ba1a2d567ad14ea03 [file] [log] [blame]
/*******************************************************************************
* 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;
import java.util.Collection;
public class WizardModelContributor implements IWizardModelContributor {
String ID;
Collection<String> RequiredIDs;
Collection<String> ForbiddenIDs;
Collection<String> ContainedIDs;
String CategoryID;
String Name;
String Description;
String FileVTML;
String FileVPML;
String PluginID;
public WizardModelContributor(String id, Collection<String> rids, Collection<String> fids,
Collection<String> cids, String cid, String name, String desc,
String fvtml, String fvpml, String pid)
{
ID = id;
RequiredIDs = rids;
ForbiddenIDs = fids;
ContainedIDs = cids;
CategoryID = cid;
Name = name;
Description = desc;
FileVPML = fvpml;
FileVTML = fvtml;
PluginID = pid;
}
public String getID() {
return ID;
}
public Collection<String> getRequiredIDs() {
return RequiredIDs;
}
public Collection<String> getForbiddenIDs() {
return ForbiddenIDs;
}
public Collection<String> getContainedIDs() {
return ContainedIDs;
}
public String getCategoryID() {
return CategoryID;
}
public String getName() {
return Name;
}
public String getDescription() {
return Description;
}
public String getFileVTML() {
return FileVTML;
}
public String getFileVPML() {
return FileVPML;
}
public String getPluginID() {
return PluginID;
}
public int compareTo(Object o) {
// sort according to dependency precedence
// FIXME: if there are dependency circles, that leads to chaos
IWizardModelContributor mc = (IWizardModelContributor)o;
// >0: this > mc
// 0: this = mc
// <0: this < mc
if (mc.getRequiredIDs().contains(this.getID()))
return -1;
if (this.getRequiredIDs().contains(mc.getID()))
return +1;
return 0;
}
}