org.eclipse.xtext.xtext.ui.wizard.project
Class XtextProjectCreator

java.lang.Object
  extended by org.eclipse.ui.actions.WorkspaceModifyOperation
      extended by org.eclipse.xtext.ui.wizard.AbstractProjectCreator
          extended by org.eclipse.xtext.xtext.ui.wizard.project.XtextProjectCreator
All Implemented Interfaces:
org.eclipse.jface.operation.IRunnableWithProgress, org.eclipse.jface.operation.IThreadListener, IProjectCreator
Direct Known Subclasses:
Ecore2XtextProjectCreator

public class XtextProjectCreator
extends AbstractProjectCreator

XtextProjectCreator handles the actual creation of the new Xtext project.

Author:
Michael Clay - Initial contribution and API, Sebastian Zarnekow

Field Summary
protected static java.lang.String[] BUILDERS
           
protected static java.lang.String[] DSL_PROJECT_NATURES
           
protected static java.lang.String[] DSL_UI_PROJECT_NATURES
           
protected static java.lang.String[] GENERATOR_PROJECT_NATURES
           
protected static java.util.List<java.lang.String> SRC_FOLDER_LIST
           
protected static java.lang.String SRC_GEN_ROOT
           
protected static java.lang.String SRC_ROOT
           
protected static java.lang.String[] TEST_PROJECT_NATURES
           
protected static java.lang.String XTEND_GEN_ROOT
           
 
Constructor Summary
XtextProjectCreator()
           
 
Method Summary
protected  void configureDslProjectFactory(PluginProjectFactory factory)
           
protected  void configureDslUiProjectFactory(PluginProjectFactory factory)
           
protected  void configureFeatureProjectFactory(FeatureProjectFactory factory)
           
protected  PluginProjectFactory configureProjectFactory(ProjectFactory factory)
           
protected  void configureTestProjectFactory(PluginProjectFactory factory)
           
protected  org.eclipse.core.resources.IProject createDslProject(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  IProjectFactoryContributor createDslProjectContributor()
           
protected  org.eclipse.core.resources.IProject createDslUiProject(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  FeatureProjectFactory createFeatureFactory()
           
protected  org.eclipse.core.resources.IProject createFeatureProject(org.eclipse.core.runtime.SubMonitor monitor)
           
protected  PluginProjectFactory createProjectFactory()
           
protected  org.eclipse.core.resources.IProject createTestProject(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  void execute(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  java.util.Collection<java.lang.String> getAdditionalRequiredBundles()
           
protected  java.util.List<java.lang.String> getAllFolders()
           
protected  java.lang.String[] getBuilderIDs()
           
protected  java.lang.String getCreateModelProjectMessage()
           
protected  java.lang.String[] getDslProjectNatures()
           
protected  java.util.List<java.lang.String> getDslProjectRequiredBundles()
           
protected  java.lang.String[] getDslUiProjectNatures()
           
protected  java.util.List<java.lang.String> getDslUiProjectRequiredBundles()
           
protected  java.util.List<java.lang.String> getImportedPackages()
           
protected  java.lang.String getModelFolderName()
           
protected  int getMonitorTicks()
           
protected  java.util.List<java.lang.String> getTestProjectImportedPackages()
           
protected  java.lang.String[] getTestProjectNatures()
           
protected  java.util.List<java.lang.String> getTestProjectRequiredBundles()
           
protected  XtextProjectInfo getXtextProjectInfo()
           
 
Methods inherited from class org.eclipse.xtext.ui.wizard.AbstractProjectCreator
configureProjectBuilder, createProject, enhanceProject, getBuilders, getEncoding, getModelFile, getPrimaryModelFileExtension, getProjectInfo, getProjectNatures, getReferencedProjects, getResult, setProjectInfo, setResult
 
Methods inherited from class org.eclipse.ui.actions.WorkspaceModifyOperation
getRule, run, threadChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.jface.operation.IRunnableWithProgress
run
 

Field Detail

DSL_PROJECT_NATURES

protected static final java.lang.String[] DSL_PROJECT_NATURES

DSL_UI_PROJECT_NATURES

protected static final java.lang.String[] DSL_UI_PROJECT_NATURES

BUILDERS

protected static final java.lang.String[] BUILDERS

GENERATOR_PROJECT_NATURES

protected static final java.lang.String[] GENERATOR_PROJECT_NATURES

TEST_PROJECT_NATURES

protected static final java.lang.String[] TEST_PROJECT_NATURES

SRC_GEN_ROOT

protected static final java.lang.String SRC_GEN_ROOT
See Also:
Constant Field Values

SRC_ROOT

protected static final java.lang.String SRC_ROOT
See Also:
Constant Field Values

XTEND_GEN_ROOT

protected static final java.lang.String XTEND_GEN_ROOT
See Also:
Constant Field Values

SRC_FOLDER_LIST

protected static final java.util.List<java.lang.String> SRC_FOLDER_LIST
Constructor Detail

XtextProjectCreator

public XtextProjectCreator()
Method Detail

getXtextProjectInfo

protected XtextProjectInfo getXtextProjectInfo()

execute

protected void execute(org.eclipse.core.runtime.IProgressMonitor monitor)
                throws org.eclipse.core.runtime.CoreException,
                       java.lang.reflect.InvocationTargetException,
                       java.lang.InterruptedException
Overrides:
execute in class AbstractProjectCreator
Throws:
org.eclipse.core.runtime.CoreException
java.lang.reflect.InvocationTargetException
java.lang.InterruptedException

getMonitorTicks

protected int getMonitorTicks()

createProjectFactory

protected PluginProjectFactory createProjectFactory()
Specified by:
createProjectFactory in class AbstractProjectCreator

createFeatureFactory

protected FeatureProjectFactory createFeatureFactory()

getCreateModelProjectMessage

protected java.lang.String getCreateModelProjectMessage()
Overrides:
getCreateModelProjectMessage in class AbstractProjectCreator

createDslUiProject

protected org.eclipse.core.resources.IProject createDslUiProject(org.eclipse.core.runtime.IProgressMonitor monitor)
                                                          throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

configureDslUiProjectFactory

protected void configureDslUiProjectFactory(PluginProjectFactory factory)

getDslUiProjectRequiredBundles

protected java.util.List<java.lang.String> getDslUiProjectRequiredBundles()

getDslUiProjectNatures

protected java.lang.String[] getDslUiProjectNatures()

createDslProject

protected org.eclipse.core.resources.IProject createDslProject(org.eclipse.core.runtime.IProgressMonitor monitor)
                                                        throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

configureDslProjectFactory

protected void configureDslProjectFactory(PluginProjectFactory factory)

getDslProjectRequiredBundles

protected java.util.List<java.lang.String> getDslProjectRequiredBundles()

getDslProjectNatures

protected java.lang.String[] getDslProjectNatures()

configureProjectFactory

protected PluginProjectFactory configureProjectFactory(ProjectFactory factory)
Overrides:
configureProjectFactory in class AbstractProjectCreator

getBuilderIDs

protected java.lang.String[] getBuilderIDs()

getTestProjectNatures

protected java.lang.String[] getTestProjectNatures()

createTestProject

protected org.eclipse.core.resources.IProject createTestProject(org.eclipse.core.runtime.IProgressMonitor monitor)
                                                         throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

createFeatureProject

protected org.eclipse.core.resources.IProject createFeatureProject(org.eclipse.core.runtime.SubMonitor monitor)
                                                            throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

configureFeatureProjectFactory

protected void configureFeatureProjectFactory(FeatureProjectFactory factory)

configureTestProjectFactory

protected void configureTestProjectFactory(PluginProjectFactory factory)

getTestProjectImportedPackages

protected java.util.List<java.lang.String> getTestProjectImportedPackages()

getTestProjectRequiredBundles

protected java.util.List<java.lang.String> getTestProjectRequiredBundles()

getImportedPackages

protected java.util.List<java.lang.String> getImportedPackages()

getAdditionalRequiredBundles

protected java.util.Collection<java.lang.String> getAdditionalRequiredBundles()

getModelFolderName

protected java.lang.String getModelFolderName()
Specified by:
getModelFolderName in class AbstractProjectCreator

getAllFolders

protected java.util.List<java.lang.String> getAllFolders()
Specified by:
getAllFolders in class AbstractProjectCreator

createDslProjectContributor

protected IProjectFactoryContributor createDslProjectContributor()