/**
 * generated by Xtext 2.16.0
 */
package be.uantwerpen.cosys.contractLang;

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 be.uantwerpen.cosys.contractLang.ContractLangPackage
 * @generated
 */
public interface ContractLangFactory extends EFactory
{
  /**
   * The singleton instance of the factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  ContractLangFactory eINSTANCE = be.uantwerpen.cosys.contractLang.impl.ContractLangFactoryImpl.init();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
   * Returns a new object of class '<em>After Until Scope</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>After Until Scope</em>'.
   * @generated
   */
  AfterUntilScope createAfterUntilScope();

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

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

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

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

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

  /**
   * Returns a new object of class '<em>Bounded Existence Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Bounded Existence Pattern</em>'.
   * @generated
   */
  BoundedExistencePattern createBoundedExistencePattern();

  /**
   * Returns a new object of class '<em>Transient State Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Transient State Pattern</em>'.
   * @generated
   */
  TransientStatePattern createTransientStatePattern();

  /**
   * Returns a new object of class '<em>Steady State Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Steady State Pattern</em>'.
   * @generated
   */
  SteadyStatePattern createSteadyStatePattern();

  /**
   * Returns a new object of class '<em>Min Duration Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Min Duration Pattern</em>'.
   * @generated
   */
  MinDurationPattern createMinDurationPattern();

  /**
   * Returns a new object of class '<em>Max Duration Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Max Duration Pattern</em>'.
   * @generated
   */
  MaxDurationPattern createMaxDurationPattern();

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

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

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

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

  /**
   * Returns a new object of class '<em>Precedence Chain1 NPattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Precedence Chain1 NPattern</em>'.
   * @generated
   */
  PrecedenceChain1NPattern createPrecedenceChain1NPattern();

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

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

  /**
   * Returns a new object of class '<em>Response Chain1 NPattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Response Chain1 NPattern</em>'.
   * @generated
   */
  ResponseChain1NPattern createResponseChain1NPattern();

  /**
   * Returns a new object of class '<em>Response Chain N1 Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Response Chain N1 Pattern</em>'.
   * @generated
   */
  ResponseChainN1Pattern createResponseChainN1Pattern();

  /**
   * Returns a new object of class '<em>Response Invariance Pattern</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Response Invariance Pattern</em>'.
   * @generated
   */
  ResponseInvariancePattern createResponseInvariancePattern();

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

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

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

  /**
   * Returns a new object of class '<em>Upper Time Bound</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Upper Time Bound</em>'.
   * @generated
   */
  UpperTimeBound createUpperTimeBound();

  /**
   * Returns a new object of class '<em>Lower Time Bound</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Lower Time Bound</em>'.
   * @generated
   */
  LowerTimeBound createLowerTimeBound();

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

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

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

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

  /**
   * Returns a new object of class '<em>Prob Less Eq</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Prob Less Eq</em>'.
   * @generated
   */
  ProbLessEq createProbLessEq();

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

  /**
   * Returns a new object of class '<em>Prob Greater Eq</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Prob Greater Eq</em>'.
   * @generated
   */
  ProbGreaterEq createProbGreaterEq();

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

  /**
   * Returns a new object of class '<em>Var Or Var Op</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Var Or Var Op</em>'.
   * @generated
   */
  VarOrVarOp createVarOrVarOp();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
   * 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>Domain Value</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Domain Value</em>'.
   * @generated
   */
  DomainValue createDomainValue();

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

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

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

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

  /**
   * Returns a new object of class '<em>Steady State Suggestion</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Steady State Suggestion</em>'.
   * @generated
   */
  SteadyStateSuggestion createSteadyStateSuggestion();

  /**
   * Returns a new object of class '<em>Power Bond Suggestion</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Power Bond Suggestion</em>'.
   * @generated
   */
  PowerBondSuggestion createPowerBondSuggestion();

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

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

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

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

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

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

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

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

  /**
   * Returns a new object of class '<em>Meters Per Second</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Meters Per Second</em>'.
   * @generated
   */
  MetersPerSecond createMetersPerSecond();

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

  /**
   * Returns a new object of class '<em>Kilometers Per Hour</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Kilometers Per Hour</em>'.
   * @generated
   */
  KilometersPerHour createKilometersPerHour();

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

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

} //ContractLangFactory
