package com.freescale.deadlockpreventer.stateeditor;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPartFactory;
import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
import com.freescale.deadlockpreventer.stateeditor.model.ComponentNode;
import com.freescale.deadlockpreventer.stateeditor.model.LockNode;
import com.freescale.deadlockpreventer.stateeditor.model.ReferenceLockNode;
import com.freescale.deadlockpreventer.stateeditor.model.RootNode;
import com.freescale.deadlockpreventer.stateeditor.part.ComponentPart;
import com.freescale.deadlockpreventer.stateeditor.part.LockPart;
import com.freescale.deadlockpreventer.stateeditor.part.ReferenceLockPart;
import com.freescale.deadlockpreventer.stateeditor.part.RootPart;
public class StateEditPartFactory implements EditPartFactory {
@Override
public EditPart createEditPart(EditPart context, Object model) {
AbstractGraphicalEditPart part = null;
if (model instanceof LockNode) {
part = new LockPart();
} else if (model instanceof ComponentNode) {
part = new ComponentPart();
} else if (model instanceof RootNode) {
part = new RootPart();
} else if (model instanceof ReferenceLockNode) {
part = new ReferenceLockPart();
}
part.setModel(model);
return part;
}
}