org.eclipse.xtext.ui.wizard
Class AbstractProjectCreator

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

public abstract class AbstractProjectCreator
extends org.eclipse.ui.actions.WorkspaceModifyOperation
implements IProjectCreator

Author:
Peter Friese - Initial contribution and API, Sebastian Zarnekow

Constructor Summary
AbstractProjectCreator()
           
 
Method Summary
protected  ProjectFactory configureProjectBuilder(ProjectFactory factory)
          Deprecated. use configureProjectFactory(ProjectFactory) instead.
protected  ProjectFactory configureProjectFactory(ProjectFactory factory)
           
protected  org.eclipse.core.resources.IProject createProject(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected abstract  ProjectFactory createProjectFactory()
           
protected  void enhanceProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  void execute(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected abstract  java.util.List<java.lang.String> getAllFolders()
           
protected  java.lang.String[] getBuilders()
           
protected  java.lang.String getCreateModelProjectMessage()
           
protected  java.lang.String getEncoding()
           
protected  org.eclipse.core.resources.IFile getModelFile(org.eclipse.core.resources.IProject project)
           
protected abstract  java.lang.String getModelFolderName()
           
protected  java.lang.String getPrimaryModelFileExtension()
           
protected  IProjectInfo getProjectInfo()
           
protected  java.lang.String[] getProjectNatures()
           
protected  java.util.List<org.eclipse.core.resources.IProject> getReferencedProjects()
           
 org.eclipse.core.resources.IFile getResult()
          

Result is a file that will be opened after the the project creation was successfully completed.

 void setProjectInfo(IProjectInfo projectInfo)
          Sets project creator configuration object.
A IProjectInfo, normally created by XtextNewProjectWizard subclasses,
is a kind of data holder for values which were collected
from the corresponding Wizard pages.
This data should be used to create a proper project
protected  void setResult(org.eclipse.core.resources.IFile result)
           
 
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
 

Constructor Detail

AbstractProjectCreator

public AbstractProjectCreator()
Method Detail

getResult

public org.eclipse.core.resources.IFile getResult()

Result is a file that will be opened after the the project creation was successfully completed.

(Dennis: This method name is misleading. Should be fileToOpenOnFinish or something. Consider to deprecate it in 2.4)

Specified by:
getResult in interface IProjectCreator
Returns:
IFile that should be opened after the project creation was successfully done.

setResult

protected void setResult(org.eclipse.core.resources.IFile result)

setProjectInfo

public void setProjectInfo(IProjectInfo projectInfo)
Sets project creator configuration object.
A IProjectInfo, normally created by XtextNewProjectWizard subclasses,
is a kind of data holder for values which were collected
from the corresponding Wizard pages.
This data should be used to create a proper project

Specified by:
setProjectInfo in interface IProjectCreator
See Also:
IProjectInfo

getProjectInfo

protected IProjectInfo getProjectInfo()

getEncoding

protected java.lang.String getEncoding()
                                throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

execute

protected void execute(org.eclipse.core.runtime.IProgressMonitor monitor)
                throws org.eclipse.core.runtime.CoreException,
                       java.lang.reflect.InvocationTargetException,
                       java.lang.InterruptedException
Specified by:
execute in class org.eclipse.ui.actions.WorkspaceModifyOperation
Throws:
org.eclipse.core.runtime.CoreException
java.lang.reflect.InvocationTargetException
java.lang.InterruptedException

getCreateModelProjectMessage

protected java.lang.String getCreateModelProjectMessage()

getModelFile

protected org.eclipse.core.resources.IFile getModelFile(org.eclipse.core.resources.IProject project)
                                                 throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

createProject

protected org.eclipse.core.resources.IProject createProject(org.eclipse.core.runtime.IProgressMonitor monitor)

configureProjectBuilder

@Deprecated
protected ProjectFactory configureProjectBuilder(ProjectFactory factory)
Deprecated. use configureProjectFactory(ProjectFactory) instead.


configureProjectFactory

protected ProjectFactory configureProjectFactory(ProjectFactory factory)

createProjectFactory

protected abstract ProjectFactory createProjectFactory()

enhanceProject

protected void enhanceProject(org.eclipse.core.resources.IProject project,
                              org.eclipse.core.runtime.IProgressMonitor monitor)
                       throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

getPrimaryModelFileExtension

protected java.lang.String getPrimaryModelFileExtension()

getModelFolderName

protected abstract java.lang.String getModelFolderName()

getAllFolders

protected abstract java.util.List<java.lang.String> getAllFolders()

getReferencedProjects

protected java.util.List<org.eclipse.core.resources.IProject> getReferencedProjects()

getProjectNatures

protected java.lang.String[] getProjectNatures()

getBuilders

protected java.lang.String[] getBuilders()