com.aspose.tasks

Interfaces

Classes

Exceptions

com.aspose.tasks

Class Project



  • public class Project
    extends Object

    Represents a project.

    • Constructor Detail

      • Project

        public Project()

        Initializes a new instance of the Project class.

      • Project

        public Project(String projectTemplate,
                       String protectionPassword)

        Initializes a new instance of the Project class from a password protected template (existent mpp or mpt file).

        Parameters:
        projectTemplate - Path to template to create project from.
        protectionPassword - Protection password.


        Reading password protected files currently supported for MSP 2003 file format only.

      • Project

        public Project(String projectTemplate)

        Initializes a new instance of the Project class from a template (existent mpp or mpt file).

        Parameters:
        projectTemplate - Path to template to create project from.
      • Project

        public Project(String projectTemplate,
                       ParseErrorCallback parseErrorHandler)

        Initializes a new instance of the Project class from a template (existent mpp or mpt file).

        Parameters:
        projectTemplate - Path to template to create project from.
        parseErrorHandler - the specified callback method to handle xml parse errors.
      • Project

        public Project(InputStream stream)

        Initializes a new instance of the Project class from a template(existent mpp or mpt file).

        Parameters:
        stream - InputStream to load a template from.
      • Project

        public Project(DbSettings settings)

        Initializes a new instance of the Project class to read data from a database which is specified by the instance of the DbSettings class.

        Parameters:
        settings - the specified instance of the DbSettings class.
      • Project

        public Project(InputStream stream,
                       ParseErrorCallback parseErrorHandler)

        Initializes a new instance of the Project class from a template(existent mpp or mpt file).

        Parameters:
        stream - InputStream to load a template from.
        parseErrorHandler - the specified callback method to handle xml parse errors.
      • Project

        public Project(InputStream stream,
                       String protectionPassword)

        Initializes a new instance of the Project class from a template(existent mpp or mpt file).

        Parameters:
        stream - InputStream to load a template from.
        protectionPassword - Protection password.


        Reading password protected files currently supported for MSP 2003 file format only.

      • Project

        public Project(String projectTemplate,
                       LoadOptions options)

        Initializes a new instance of the Project class from a template (existent mpp or mpt file) with the specified instance of the LoadOptions class.

        Parameters:
        projectTemplate - Path to template to create project from
        options - the specified instance of the LoadOptions class.
    • Method Detail

      • calcResourceFields

        public final void calcResourceFields()

        Recalculates Id, Start and Finish of resources.

      • calcResourceStartFinish

        public final void calcResourceStartFinish()

        Recalculates Start and Finish of resources.

      • copyTo

        public final void copyTo(Project another)

        Copies project's main data and properties to another project.

        Parameters:
        another - Another project to copy data to.
      • get

        public final <T> T get(Key<T,Integer> key)

        Returns the value to which the property is mapped in this container.

        Parameters:
        key - the specified property key. Prj for getting the property key.

        T: the type of the mapped value.

        Returns:
        the value to which the property is mapped in this container.
      • getBaselineSaveTime

        public final Date getBaselineSaveTime(int baselineNumber)

        Returns the baseline save time. Returns DateTime.MinValue if the baseline was not saved.

        Parameters:
        baselineNumber - The baseline's number BaselineType.
        Returns:
        The baseline's last save date and time.
      • getCalculationMode

        public final int getCalculationMode()

        Specifies calculation mode of a project. Can be one of the values of CalculationMode enumeration.

        Returns:
        the calculation mode for this project.
      • setCalculationMode

        public final void setCalculationMode(int value)

        Specifies calculation mode of a project. Can be one of the values of CalculationMode enumeration.

        Parameters:
        value - one of the values of CalculationMode enumeration which specifies calculation mode of a project.
      • getCalendars

        public final CalendarCollection getCalendars()

        Returns CalendarCollection object of this Project instance. Read only CalendarCollection.

        Returns:
        returns a collection of calendars used in this project.
      • getCriticalPath

        public final TaskCollection getCriticalPath()

        Returns TaskCollection which contains a list of Critical tasks which comprise Critical Path of this project.

        Returns:
        TaskCollection which represents a list of all critical tasks.


        this is an O(n) operation, where n is the number of tasks in the project.

      • getCustomProperties

        public Map<String,Object> getCustomProperties()

        Returns project's custom properties map. Read/write Map<String,Object>.

        Returns:
        returns a map of custom properties used in this project.
      • setCustomProperties

        public final void setCustomProperties(Map<String,Object> value)

        Sets project's custom properties map. Read/write Map<String,Object>.

        Parameters:
        value - custom properties hashmap of the project.
      • getDefaultView

        public final View getDefaultView()

        Gets default view of the project.

        Returns:
        default view of the project.
      • getDefaultWeekWorkingDays

        public final WeekDayCollection getDefaultWeekWorkingDays()

        Returns the instance of WeekDayCollection class which represents a collection of project default week working days and working times. The data contains only in mpp files (not in xml).

        Returns:
        returns the instanceWeekDayCollection class which contains a list of WeekDay objects.
      • getDuration

        public final Duration getDuration(double val)

        Gets Duration object with the specified double value and default duration format.

        Parameters:
        val - specified value.
        Returns:
        Duration object.
      • getDuration

        public final Duration getDuration(double val,
                                          int timeUnit)

        Gets Duration object with the specified double value and specified TimeUnitType value.

        Parameters:
        val - specified double value.
        timeUnit - specified TimeUnitType value.
        Returns:
        Duration object.
      • getExtendedAttributes

        public final ExtendedAttributeDefinitionCollection getExtendedAttributes()

        Gets ExtendedAttributeDefinitionCollection object. The collection of extended attribute (custom fields) definitions associated with a project. Read only ExtendedAttributeDefinitionCollection instance.

        Returns:
        returns a collection of ExtendedAttributeDefinition objects used in this project.
      • getOleObjects

        public final OleObjectCollection getOleObjects()

        Gets a collection containing the instances of the OleObject class which are linked or embedded to this project file.


        Available for mpp file format only.

        Returns:
        returns a collection containing the instances of the OleObject class which are linked or embedded to this project file.
      • getOutlineCodes

        public final OutlineCodeDefinitionCollection getOutlineCodes()

        Gets OutlineCodeDefinitionCollection object. The collection of outline code definitions associated with a project. Read only OutlineCodeDefinitionCollection instance.

        Returns:
        returns a collection of OutlineCodeDefinition instances used in this project.
      • getPageCount

        public final int getPageCount()

        Returns page count for the project to be rendered using default Timescale(Days).

        Returns:
        Page count to be rendered.
      • getPageCount_PresentationFormat

        public final int getPageCount_PresentationFormat(int format)

        Returns page count for the project to be rendered using default Timescale(Days) and given PresentationFormat

        Parameters:
        format - PresentationFormat to get page count for.
        Returns:
        Page count to be rendered.
      • getPageCount_PageSize

        public final int getPageCount_PageSize(int pageSize,
                                               int scale,
                                               Date startDate,
                                               Date endDate)

        Returns page count for the project to be rendered using given Timescale, PresentationFormat and date range.

        Parameters:
        pageSize - PageSize to get page count for.
        scale - Timescale to get page count for.
        startDate - Start date to get page count for.
        endDate - End date to get page count for.
        Returns:
        Page count to be rendered.
      • getPageCount_PageSize

        public final int getPageCount_PageSize(int pageSize,
                                               int scale)

        Returns page count for the project to be rendered using given Timescale and PageSize.

        Parameters:
        pageSize - PageSize to get page count for.
        scale - Timescale to get page count for.
        Returns:
        Page count to be rendered.
      • getPageCount_Timescale

        public final int getPageCount_Timescale(int scale)

        Returns page count for the project to be rendered using given Timescale.

        Parameters:
        scale - Timescale to get page count for.
        Returns:
        Page count to be rendered.
      • getPageCount

        public final int getPageCount(int format,
                                      int scale)

        Returns page count for the project to be rendered using given Timescale and PresentationFormat.

        Parameters:
        format - PresentationFormat to get page count for.
        scale - Timescale to get page count for.
        Returns:
        Page count to be rendered.
      • getPredecessors

        public final TaskLinkCollection getPredecessors(Task task)

        Returns a collection of task links which are predecessors of the specified task.

        Parameters:
        task - The task to get predecessors for.
        Returns:
        List of predecessors TaskLink.
      • getProjectFileInfo

        public static ProjectFileInfo getProjectFileInfo(String filename)

        Read project file info from the file.

        Parameters:
        filename - The project filename.
        Returns:
        The project file info Aspose.Tasks.ProjectFileInfo.
      • getProjectFileInfo

        public static ProjectFileInfo getProjectFileInfo(InputStream stream)

        Gets project file info from the stream.

        Parameters:
        stream - The data stream.
        Returns:
        The project file info ProjectFileInfo.
      • getResourceAssignments

        public final ResourceAssignmentCollection getResourceAssignments()

        Gets ResourceAssignmentCollection object.

        Returns:
        returns a collection of ResourceAssignment objects used in this project.
      • getResourceFilters

        public final FilterCollection getResourceFilters()

        Gets all the resource-based filter definitions. ResourceFilters is a collection of Filter objects.

        Returns:
        FilterCollection object containing all the resource-based filter definitions.
      • getResourceGroups

        public final GroupCollection getResourceGroups()

        Gets all of the resource-based group definitions. ResourceGroups is a collection of Group objects.

        Returns:
        returns GroupCollection object containing all the resource-based group definitions of this project.
      • getResources

        public final ResourceCollection getResources()

        Gets ResourceCollection object. Read-only ResourceCollection object.

        Returns:
        returns a collection of resources used in this project.
      • getRootTask

        public final Task getRootTask()

        Gets the root of the tree of tasks. Read/write Task.

        Returns:
        returns the root task of this project (project summary task).
      • getTables

        public final TableCollection getTables()

        Contains a list of Table objects.

        Returns:
        TableCollection object containing all the tables of this project.
      • getTaskFilters

        public final FilterCollection getTaskFilters()

        Gets all the task-based filter definitions. TaskFilters is a collection of Filter objects.

        Returns:
        FilterCollection object containing all the task-based filter definitions.
      • getTaskGroups

        public final GroupCollection getTaskGroups()

        Gets all the task-based group definitions. TaskGroups is a collection of Group objects.

        Returns:
        GroupCollection object containing all the task-based group definitions of this project.
      • getVbaProject

        public final VbaProject getVbaProject()

        Gets an instance of VbaProject class.

        Returns:
        returns the VbaProject objects.
      • getViews

        public final ViewCollection getViews()

        Gets a list of View objects.

        Returns:
        ViewCollection object containing all the views of this project.
      • getWBSCodeDefinition

        public final WBSCodeDefinition getWBSCodeDefinition()

        Gets WBS Code Definition for the project.

        Returns:
        WBS Code Definition for the project.
      • setWBSCodeDefinition

        public final void setWBSCodeDefinition(WBSCodeDefinition value)
        Sets WBS Code Definition for the project.
        Parameters:
        value - WBS Code Definition for the project.
      • getWork

        public final Duration getWork(double val)

        Gets Duration object with the specified double value and default work format.

        Parameters:
        val - specified double value.
        Returns:
        Duration object.
      • recalculate

        public final void recalculate()

        Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates, calculates slacks, work and cost fields.

      • recalculate

        public final void recalculate(boolean validate)

        Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates, calculates slacks, work and cost fields with optional validation.

        Parameters:
        validate - If true the validation of recalculation will be performed. What data is validated: At the moment only basic validation of task and task link date ranges is implemented. Task's date ranges (e.g. ActualStart - ActualFinish, EarlyStart - EarlyFinish, etc.) as well as Task Links dates will be checked against the date criteria that start date is less or equal than finish date. If any of conditions described above is failed then RecalculationValidationException will be thrown.
      • removeInvalidResourceAssignments

        public final void removeInvalidResourceAssignments()

        Eliminates invalid resource assignments from the project resource assignments list.


        MS Project creates an empty resource assignment for each task. Call the method to remove them.

      • renumberWBSCode

        public final void renumberWBSCode()

        Renumber WBS code of all tasks.

      • renumberWBSCode

        public final void renumberWBSCode(List<Integer> taskIds)

        Renumber WBS code of passed tasks.

        Parameters:
        taskIds - Task identifiers to renumber WBS codes.
      • rescheduleUncompletedWorkToStartAfter

        public final void rescheduleUncompletedWorkToStartAfter(Date after)

        Reschedules uncompleted project work to start after a specified date.

        Parameters:
        after - Date to reschedule uncompleted work after.


        Ensure that Project.CanSplitsInProgressTasks flag is set to true before using this method.

      • rescheduleUncompletedWorkToStartAfter

        public final void rescheduleUncompletedWorkToStartAfter(Date after,
                                                                List<Task> tasks)

        Reschedules uncompleted work for a specified list of tasks to start after a specified date.

        Parameters:
        after - Date to reschedule uncompleted work after.
        tasks - List<Task> of tasks to reschedule uncompleted work for.


        Ensure that Project.CanSplitsInProgressTasks flag is set to true before using this method.

      • save

        public final void save(String filename,
                               int format)
                        throws IOException

        Saves the project data to the file.

        Parameters:
        filename - The file name.
        format - SaveFileFormat save file format.
        Throws:
        IOException
      • saveAsTemplate

        public final void saveAsTemplate(String fileName)
                                  throws IOException

        Saves the project as a template to the specified file path.

        Parameters:
        fileName - the specified file name.
        Throws:
        IOException
      • saveAsTemplate

        public void saveAsTemplate(OutputStream stream)
                            throws IOException

        Saves the project as a template to a specified stream.

        Parameters:
        stream - the specified stream to save the project to.
        Throws:
        IOException
      • saveAsTemplate

        public void saveAsTemplate(OutputStream stream,
                                   SaveTemplateOptions options)
                            throws IOException

        Saves the project as a template to a specified stream.

        Parameters:
        stream - Stream to save the project template to.
        options - the specified save options SaveTemplateOptions.
        Throws:
        IOException
      • saveReport

        public final void saveReport(OutputStream stream)
                              throws IOException

        Saves the project overview report to the stream.

        Parameters:
        stream - The stream to save project report to.
        Throws:
        IOException
      • saveReport

        public final void saveReport(String fileName)

        Saves the project overview report to pdf file.

        Parameters:
        fileName - The file name.
      • saveReport

        public void saveReport(OutputStream stream,
                               int reportType)
                        throws IOException

        Saves the project report of the specified type to the specified stream.

        Parameters:
        stream - the specified stream to save project report to.
        reportType - the specified report type.ReportType
        Throws:
        IOException
      • saveReport

        public final void saveReport(String fileName,
                                     int reportType)

        Saves the project report of the specified type in pdf format to the specified file path.

        Parameters:
        fileName - the specified file name.
        reportType - the specified report type.ReportType
      • selectAllChildTasks

        public final List<Task> selectAllChildTasks()

        Recursively collects all child tasks of this task.

        Returns:
        The all child tasks Task.
      • set

        public final <T> void set(Key<T,Integer> key,
                                  T val)

        Maps the specified property to the specified value in this container.

        Parameters:
        key - the specified property key. Prj for getting the property key.
        val - the value.

        T: the type of the mapped value.

      • set

        public final void set(Key<Date,Integer> key,
                              Date val)

        Maps the specified property to the specified value in this container.

        Parameters:
        key - the specified property key. Prj for getting the property key.
        val - the value.
      • setBaseline

        public final void setBaseline(int baselineType)

        Saves baseline fields to the specified baseline for the entire project.

        Parameters:
        baselineType - BaselineType to save baseline data to.
      • setBaseline

        public final void setBaseline(int baselineType,
                                      Iterable<Task> tasks)

        Saves baseline fields to the specified baseline for the selected tasks.

        Parameters:
        baselineType - BaselineType to save baseline data to.
        tasks - List of tasks to save baseline data for.
      • updateProjectWorkAsComplete

        public final void updateProjectWorkAsComplete(Date completeThrough,
                                                      boolean setZeroOrHundredPercentCompleteOnly)

        Updates all work as complete through a specified date for the entire project.

        Parameters:
        completeThrough - Date to update work as completed through.
        setZeroOrHundredPercentCompleteOnly - If set to true updates only those tasks as 100% complete whose finish date is before specified complete-through date. Otherwise, calculates a percentage complete value based on scheduled start and complete-through dates.
      • updateProjectWorkAsComplete

        public final void updateProjectWorkAsComplete(Date completeThrough,
                                                      boolean setZeroOrHundredPercentCompleteOnly,
                                                      List<Task> tasks)

        Updates all work as complete through a specified date for the specified list of tasks.

        Parameters:
        completeThrough - Date to update work as completed through.
        setZeroOrHundredPercentCompleteOnly - If set to true updates only those tasks as 100% complete whose finish date is before specified complete-through date. Otherwise, calculates a percentage complete value based on scheduled start and complete-through dates.
        tasks - List<Task> of tasks to update work for.