/**
 * <copyright>
 * </copyright>
 *
 * $Id: MsprojectFactory.java,v 1.2 2006/04/11 15:29:55 jthario Exp $
 */
package org.eclipse.epf.msproject;

import org.eclipse.emf.ecore.EFactory;

/**
 * <!-- begin-user-doc -->
 * The <b>Factory</b> for the model.
 * It provides a create method for each non-abstract class of the model.
 * <!-- end-user-doc -->
 * @see org.eclipse.epf.msproject.MsprojectPackage
 * @generated
 */
public interface MsprojectFactory extends EFactory {
	/**
	 * The singleton instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	MsprojectFactory eINSTANCE = new org.eclipse.epf.msproject.impl.MsprojectFactoryImpl();

	/**
	 * Returns a new object of class '<em>Assignment</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Assignment</em>'.
	 * @generated
	 */
	Assignment createAssignment();

	/**
	 * Returns a new object of class '<em>Assignments</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Assignments</em>'.
	 * @generated
	 */
	Assignments createAssignments();

	/**
	 * Returns a new object of class '<em>Availability Period</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Availability Period</em>'.
	 * @generated
	 */
	AvailabilityPeriod createAvailabilityPeriod();

	/**
	 * Returns a new object of class '<em>Availability Periods</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Availability Periods</em>'.
	 * @generated
	 */
	AvailabilityPeriods createAvailabilityPeriods();

	/**
	 * Returns a new object of class '<em>Baseline</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Baseline</em>'.
	 * @generated
	 */
	Baseline createBaseline();

	/**
	 * Returns a new object of class '<em>Baseline2</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Baseline2</em>'.
	 * @generated
	 */
	Baseline2 createBaseline2();

	/**
	 * Returns a new object of class '<em>Baseline3</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Baseline3</em>'.
	 * @generated
	 */
	Baseline3 createBaseline3();

	/**
	 * Returns a new object of class '<em>Calendar</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Calendar</em>'.
	 * @generated
	 */
	Calendar createCalendar();

	/**
	 * Returns a new object of class '<em>Calendars</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Calendars</em>'.
	 * @generated
	 */
	Calendars createCalendars();

	/**
	 * Returns a new object of class '<em>Document Root</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Document Root</em>'.
	 * @generated
	 */
	DocumentRoot createDocumentRoot();

	/**
	 * Returns a new object of class '<em>Extended Attribute</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Extended Attribute</em>'.
	 * @generated
	 */
	ExtendedAttribute createExtendedAttribute();

	/**
	 * Returns a new object of class '<em>Extended Attribute2</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Extended Attribute2</em>'.
	 * @generated
	 */
	ExtendedAttribute2 createExtendedAttribute2();

	/**
	 * Returns a new object of class '<em>Extended Attribute3</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Extended Attribute3</em>'.
	 * @generated
	 */
	ExtendedAttribute3 createExtendedAttribute3();

	/**
	 * Returns a new object of class '<em>Extended Attribute4</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Extended Attribute4</em>'.
	 * @generated
	 */
	ExtendedAttribute4 createExtendedAttribute4();

	/**
	 * Returns a new object of class '<em>Extended Attributes</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Extended Attributes</em>'.
	 * @generated
	 */
	ExtendedAttributes createExtendedAttributes();

	/**
	 * Returns a new object of class '<em>Mask</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Mask</em>'.
	 * @generated
	 */
	Mask createMask();

	/**
	 * Returns a new object of class '<em>Masks</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Masks</em>'.
	 * @generated
	 */
	Masks createMasks();

	/**
	 * Returns a new object of class '<em>Outline Code</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Outline Code</em>'.
	 * @generated
	 */
	OutlineCode createOutlineCode();

	/**
	 * Returns a new object of class '<em>Outline Code2</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Outline Code2</em>'.
	 * @generated
	 */
	OutlineCode2 createOutlineCode2();

	/**
	 * Returns a new object of class '<em>Outline Code3</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Outline Code3</em>'.
	 * @generated
	 */
	OutlineCode3 createOutlineCode3();

	/**
	 * Returns a new object of class '<em>Outline Codes</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Outline Codes</em>'.
	 * @generated
	 */
	OutlineCodes createOutlineCodes();

	/**
	 * Returns a new object of class '<em>Predecessor Link</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Predecessor Link</em>'.
	 * @generated
	 */
	PredecessorLink createPredecessorLink();

	/**
	 * Returns a new object of class '<em>Project</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Project</em>'.
	 * @generated
	 */
	Project createProject();

	/**
	 * Returns a new object of class '<em>Rate</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Rate</em>'.
	 * @generated
	 */
	Rate createRate();

	/**
	 * Returns a new object of class '<em>Rates</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Rates</em>'.
	 * @generated
	 */
	Rates createRates();

	/**
	 * Returns a new object of class '<em>Resource</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Resource</em>'.
	 * @generated
	 */
	Resource createResource();

	/**
	 * Returns a new object of class '<em>Resources</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Resources</em>'.
	 * @generated
	 */
	Resources createResources();

	/**
	 * Returns a new object of class '<em>Task</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Task</em>'.
	 * @generated
	 */
	Task createTask();

	/**
	 * Returns a new object of class '<em>Tasks</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Tasks</em>'.
	 * @generated
	 */
	Tasks createTasks();

	/**
	 * Returns a new object of class '<em>Time Period</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Time Period</em>'.
	 * @generated
	 */
	TimePeriod createTimePeriod();

	/**
	 * Returns a new object of class '<em>Timephased Data Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Timephased Data Type</em>'.
	 * @generated
	 */
	TimephasedDataType createTimephasedDataType();

	/**
	 * Returns a new object of class '<em>Value</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value</em>'.
	 * @generated
	 */
	Value createValue();

	/**
	 * Returns a new object of class '<em>Value2</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value2</em>'.
	 * @generated
	 */
	Value2 createValue2();

	/**
	 * Returns a new object of class '<em>Value List</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value List</em>'.
	 * @generated
	 */
	ValueList createValueList();

	/**
	 * Returns a new object of class '<em>Values</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Values</em>'.
	 * @generated
	 */
	Values createValues();

	/**
	 * Returns a new object of class '<em>WBS Mask</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>WBS Mask</em>'.
	 * @generated
	 */
	WBSMask createWBSMask();

	/**
	 * Returns a new object of class '<em>WBS Masks</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>WBS Masks</em>'.
	 * @generated
	 */
	WBSMasks createWBSMasks();

	/**
	 * Returns a new object of class '<em>Week Day</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Week Day</em>'.
	 * @generated
	 */
	WeekDay createWeekDay();

	/**
	 * Returns a new object of class '<em>Week Days</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Week Days</em>'.
	 * @generated
	 */
	WeekDays createWeekDays();

	/**
	 * Returns a new object of class '<em>Working Time</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Working Time</em>'.
	 * @generated
	 */
	WorkingTime createWorkingTime();

	/**
	 * Returns a new object of class '<em>Working Times</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Working Times</em>'.
	 * @generated
	 */
	WorkingTimes createWorkingTimes();

	/**
	 * Returns the package supported by this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the package supported by this factory.
	 * @generated
	 */
	MsprojectPackage getMsprojectPackage();

} //MsprojectFactory
