Class JavaCapabilityConfigurationPage

    • Constructor Detail

      • JavaCapabilityConfigurationPage

        public JavaCapabilityConfigurationPage()
        Creates a wizard page that can be used in a Java project creation wizard. It contains UI to configure a the classpath and the output folder.

        After constructing, a call to init(IJavaProject, IPath, IClasspathEntry[], boolean) is required.

    • Method Detail

      • useNewSourcePage

        protected boolean useNewSourcePage()
        Clients can override this method to choose if the new source page is used. The new source page requires that the project is already created as Java project. The page will directly manipulate the classpath. By default false is returned.
        Returns:
        Returns true if the new source page should be used.
        Since:
        3.1
      • init

        public void init​(IJavaProject jproject,
                         IPath defaultOutputLocation,
                         IClasspathEntry[] defaultEntries,
                         boolean defaultsOverrideExistingClasspath)
        Initializes the page with the project and default classpath.

        The default classpath entries must correspond the given project.

        The caller of this method is responsible for creating the underlying project. The page will create the output, source and library folders if required.

        The project does not have to exist at the time of initialization, but must exist when executing the runnable obtained by getRunnable().

        Parameters:
        jproject - The Java project.
        defaultOutputLocation - The default classpath entries or null to let the page choose the default
        defaultEntries - The folder to be taken as the default output path or null to let the page choose the default
        defaultsOverrideExistingClasspath - If set to true, an existing '.classpath' file is ignored. If set to false the given default classpath and output location is only used if no '.classpath' exists.
      • createControl

        public void createControl​(Composite parent)
      • getOutputLocation

        public IPath getOutputLocation()
        Returns the currently configured output location. Note that the returned path might not be a valid path.
        Returns:
        the currently configured output location
      • getRawClassPath

        public IClasspathEntry[] getRawClassPath()
        Returns the currently configured classpath. Note that the classpath might not be valid.
        Returns:
        the currently configured classpath
      • getRunnable

        public IRunnableWithProgress getRunnable()
        Returns the runnable that will create the Java project or null if the page has not been initialized. The runnable sets the project's classpath and output location to the values configured in the page and adds the Java nature if not set yet. The method requires that the project is created and opened.
        Returns:
        the runnable that creates the new Java project
      • createProject

        @Deprecated
        public static void createProject​(IProject project,
                                         IPath locationPath,
                                         IProgressMonitor monitor)
                                  throws CoreException
        Helper method to create and open a IProject. The project location is configured. No natures are added.
        Parameters:
        project - The handle of the project to create.
        locationPath - The location of the project null to create the project in the workspace
        monitor - a progress monitor to report progress or null if progress reporting is not desired
        Throws:
        CoreException - if the project couldn't be created
        Since:
        2.1
      • createProject

        public static void createProject​(IProject project,
                                         URI locationURI,
                                         IProgressMonitor monitor)
                                  throws CoreException
        Helper method to create and open a IProject. The project location is configured. No natures are added.
        Parameters:
        project - The handle of the project to create.
        locationURI - The location of the project or null to create the project in the workspace
        monitor - a progress monitor to report progress or null if progress reporting is not desired
        Throws:
        CoreException - if the project couldn't be created
        Since:
        3.2
        See Also:
        IProjectDescription.setLocationURI(java.net.URI)
      • configureJavaProject

        public void configureJavaProject​(IProgressMonitor monitor)
                                  throws CoreException,
                                         InterruptedException
        Adds the Java nature to the project (if not set yet) and configures the build classpath.
        Parameters:
        monitor - a progress monitor to report progress or null if progress reporting is not desired
        Throws:
        CoreException - Thrown when the configuring the Java project failed.
        InterruptedException - Thrown when the operation has been canceled.
      • configureJavaProject

        public void configureJavaProject​(String newProjectCompliance,
                                         IProgressMonitor monitor)
                                  throws CoreException,
                                         InterruptedException
        Adds the Java nature to the project (if not set yet) and configures the build classpath.
        Parameters:
        newProjectCompliance - compliance to set for a new project, can be null
        monitor - a progress monitor to report progress or null if progress reporting is not desired
        Throws:
        CoreException - Thrown when the configuring the Java project failed.
        InterruptedException - Thrown when the operation has been canceled.
        Since:
        3.5
      • setFocus

        protected void setFocus()
        Transfers the focus into this page.
        Since:
        3.3