Class ContainerGenerator


  • public class ContainerGenerator
    extends Object
    For creating folder resources that currently do not exist, along a given workspace path.

    This class may be instantiated; it is not intended to be subclassed.

    Example usage:

     ContainerGenerator gen = new ContainerGenerator(new Path("/A/B"));
     IContainer res = null;
     try {
            res = gen.getContainer(monitor); // creates project A and folder B if required
     } catch (CoreException e) {
            // handle failure
     } catch (OperationCanceledException e) {
            // handle cancelation
     }
     
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • ContainerGenerator

        public ContainerGenerator​(IPath containerPath)
        Creates a generator for the container resource (folder or project) at the given workspace path. Assumes the path has already been validated.

        Call getContainer to create any missing resources along the path.

        Parameters:
        containerPath - the workspace path of the container
    • Method Detail

      • generateContainer

        public IContainer generateContainer​(IProgressMonitor monitor)
                                     throws CoreException
        Ensures that this generator's container resource exists. Creates any missing resource containers along the path; does nothing if the container resource already exists.

        Note: This method should be called within a workspace modify operation since it may create resources.

        Parameters:
        monitor - a progress monitor
        Returns:
        the container resource
        Throws:
        CoreException - if the operation fails
        OperationCanceledException - if the operation is canceled