blob: d53b44f01b9afdd8986570d67f940d454984219b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="orcsScriptDsl" nsURI="http://www.eclipse.org/osee/orcs/script/dsl/OrcsScriptDsl"
nsPrefix="orcsScriptDsl">
<eClassifiers xsi:type="ecore:EClass" name="OrcsScript">
<eStructuralFeatures xsi:type="ecore:EReference" name="version" eType="#//ScriptVersion"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
eType="#//ScriptStatement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ScriptStatement"/>
<eClassifiers xsi:type="ecore:EClass" name="ScriptVersion">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsExpression" eSuperTypes="#//ScriptStatement"/>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectionLiteral" eSuperTypes="#//OsExpression"/>
<eClassifiers xsi:type="ecore:EClass" name="OsListLiteral" eSuperTypes="#//OsCollectionLiteral">
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//OsExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsQueryStatement" eSuperTypes="#//ScriptStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="stmt" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="collect" eType="#//OsCollectClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsCritieria">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsBranchState">
<eLiterals name="CREATED" literal="created"/>
<eLiterals name="MODIFIED" value="1" literal="modified"/>
<eLiterals name="COMMITTED" value="2" literal="committed"/>
<eLiterals name="REBASELINED" value="3" literal="rebaselined"/>
<eLiterals name="DELETED" value="4" literal="deleted"/>
<eLiterals name="REBASELINE_IN_PROGRESS" value="5" literal="rebaseline_in_progress"/>
<eLiterals name="COMMIT_IN_PROGRESS" value="6" literal="commit_in_progress"/>
<eLiterals name="CREATION_IN_PROGRESS" value="7" literal="creation_in_progress"/>
<eLiterals name="DELETE_IN_PROGRESS" value="8" literal="delete_in_progress"/>
<eLiterals name="PURGE_IN_PROGRESS" value="9" literal="purge_in_progress"/>
<eLiterals name="PURGED" value="10" literal="purged"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsBranchType">
<eLiterals name="WORKING" literal="working"/>
<eLiterals name="BASELINE" value="1" literal="baseline"/>
<eLiterals name="MERGE" value="2" literal="merge"/>
<eLiterals name="SYSTEM_ROOT" value="3" literal="system-root"/>
<eLiterals name="PORT" value="4" literal="port"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsBranchArchiveFilter">
<eLiterals name="ARCHIVED_EXCLUDED" literal="excluded"/>
<eLiterals name="ARCHIVED_INCLUDED" value="1" literal="included"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsTxType">
<eLiterals name="BASELINE" literal="baseline"/>
<eLiterals name="NON_BASELINE" value="1" literal="non-baseline"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsRelationSide">
<eLiterals name="SIDE_A" literal="side-A"/>
<eLiterals name="SIDE_B" value="1" literal="side-B"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsOperator">
<eLiterals name="EQUAL" literal="="/>
<eLiterals name="NOT_EQUAL" value="1" literal="!="/>
<eLiterals name="LESS_THAN" value="2" literal="&lt;"/>
<eLiterals name="LESS_THAN_EQ" value="3" literal="&lt;="/>
<eLiterals name="GREATER_THAN" value="4" literal=">"/>
<eLiterals name="GREATER_THAN_EQ" value="5" literal=">="/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsNonEqualOperator">
<eLiterals name="NOT_EQUAL" literal="!="/>
<eLiterals name="LESS_THAN" value="1" literal="&lt;"/>
<eLiterals name="LESS_THAN_EQ" value="2" literal="&lt;="/>
<eLiterals name="GREATER_THAN" value="3" literal=">"/>
<eLiterals name="GREATER_THAN_EQ" value="4" literal=">="/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsExistenceOperator">
<eLiterals name="EXISTS" literal="exists"/>
<eLiterals name="NOT_EXISTS" value="1" literal="not-exists"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OsQueryOption">
<eLiterals name="CONTAINS" literal="contains"/>
<eLiterals name="CASE__MATCH" value="1" literal="match-case"/>
<eLiterals name="CASE__IGNORE" value="2" literal="ignore-case"/>
<eLiterals name="EXISTANCE__EXISTS" value="3" literal="not-exists"/>
<eLiterals name="EXISTANCE__NOT_EXISTS" value="4" literal="exists"/>
<eLiterals name="TOKEN_COUNT__MATCH" value="5" literal="match-token-count"/>
<eLiterals name="TOKEN_COUNT__IGNORE" value="6" literal="ignore-token-count"/>
<eLiterals name="TOKEN_DELIMITER__EXACT" value="7" literal="exact-delim"/>
<eLiterals name="TOKEN_DELIMITER__WHITESPACE" value="8" literal="whitespace-delim"/>
<eLiterals name="TOKEN_DELIMITER__ANY" value="9" literal="any-delim"/>
<eLiterals name="TOKEN_MATCH_ORDER__ANY" value="10" literal="any-order"/>
<eLiterals name="TOKEN_MATCH_ORDER__MATCH" value="11" literal="match-order"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//OsCollectExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="limit" eType="#//OsLimitClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsLimitClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="limit" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsFindClause" eSuperTypes="#//OsClause">
<eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//OsObjectQuery"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsObjectQuery"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchQueryStatement" eSuperTypes="#//OsQuery">
<eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="#//OsBranchQuery"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchQuery"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchQueryById" eSuperTypes="#//OsBranchQuery">
<eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchQueryAll" eSuperTypes="#//OsBranchQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchQueryByPredicate" eSuperTypes="#//OsBranchQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="criteria" upperBound="-1"
eType="#//OsBranchCriteria" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchCriteria" eSuperTypes="#//OsCritieria"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchNameCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsBranchNameClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchNameClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchNameEqualsClause" eSuperTypes="#//OsBranchNameClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchNamePatternClause" eSuperTypes="#//OsBranchNameClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchTypeCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="types" unique="false" upperBound="-1"
eType="#//OsBranchType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchStateCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="states" unique="false"
upperBound="-1" eType="#//OsBranchState"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchArchivedCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="filter" eType="#//OsBranchArchiveFilter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchIdCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchOfCriteria" eSuperTypes="#//OsBranchCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsBranchClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="id" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchChildOfClause" eSuperTypes="#//OsBranchClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsBranchParentOfClause" eSuperTypes="#//OsBranchClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxQueryStatement" eSuperTypes="#//OsQuery">
<eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="#//OsTxQuery"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxQuery"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxQueryById" eSuperTypes="#//OsTxQuery">
<eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxQueryAll" eSuperTypes="#//OsTxQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxQueryByPredicate" eSuperTypes="#//OsTxQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="criteria" upperBound="-1"
eType="#//OsTxCriteria" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCriteria" eSuperTypes="#//OsCritieria"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxTypeCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="types" unique="false" upperBound="-1"
eType="#//OsTxType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommentCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsTxCommentClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommentClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommentEqualsClause" eSuperTypes="#//OsTxCommentClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommentPatternClause" eSuperTypes="#//OsTxCommentClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxBranchIdCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxHeadOfBranchIdCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="id" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxAuthorIdCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommitIdCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsTxCommitIdClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommitIdClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommitIdEqualsClause" eSuperTypes="#//OsTxCommitIdClause">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxCommitIdIsNullClause" eSuperTypes="#//OsTxCommitIdClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxIdCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsTxIdClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxIdClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxIdEqualsClause" eSuperTypes="#//OsTxIdClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxIdOpClause" eSuperTypes="#//OsTxIdClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//OsNonEqualOperator"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="id" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxIdRangeClause" eSuperTypes="#//OsTxIdClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="fromId" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="toId" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxTimestampCriteria" eSuperTypes="#//OsTxCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsTxTimestampClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxTimestampClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsTxTimestampOpClause" eSuperTypes="#//OsTxTimestampClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//OsOperator"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="timestamp" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTxTimestampRangeClause" eSuperTypes="#//OsTxTimestampClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactQueryStatement" eSuperTypes="#//OsObjectQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="#//OsArtifactQuery"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="collect" eType="#//OsCollectClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactQuery">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactQueryAll" eSuperTypes="#//OsArtifactQuery"/>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactQueryByPredicate" eSuperTypes="#//OsArtifactQuery">
<eStructuralFeatures xsi:type="ecore:EReference" name="criteria" upperBound="-1"
eType="#//OsItemCriteria" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsItemCriteria" eSuperTypes="#//OsCritieria"/>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactCriteria" eSuperTypes="#//OsItemCriteria"/>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactIdCriteria" eSuperTypes="#//OsArtifactCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactGuidCriteria" eSuperTypes="#//OsArtifactCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactTypeCriteria" eSuperTypes="#//OsArtifactCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsArtifactTypeClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactTypeClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
eType="#//OsExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactTypeEqualsClause" eSuperTypes="#//OsArtifactTypeClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsArtifactTypeInstanceOfClause" eSuperTypes="#//OsArtifactTypeClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OsAttributeCriteria" eSuperTypes="#//OsItemCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsAttributeClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsAttributeClause">
<eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
eType="#//OsExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsAttributeExistClause" eSuperTypes="#//OsAttributeClause"/>
<eClassifiers xsi:type="ecore:EClass" name="OseAttributeOpClause" eSuperTypes="#//OsAttributeClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="options" unique="false"
upperBound="-1" eType="#//OsQueryOption"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
eType="#//OsExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsRelationCriteria" eSuperTypes="#//OsItemCriteria">
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="#//OsRelationClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsRelationClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="side" eType="#//OsRelationSide"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsRelationExistClause" eSuperTypes="#//OsRelationClause">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//OsExistenceOperator"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsRelatedToClause" eSuperTypes="#//OsRelationClause">
<eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsFollowClause" eSuperTypes="#//OsClause">
<eStructuralFeatures xsi:type="ecore:EReference" name="stmt" eType="#//OsFollowStatement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsFollowStatement"/>
<eClassifiers xsi:type="ecore:EClass" name="OsFollowRelationType" eSuperTypes="#//OsFollowStatement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="side" eType="#//OsRelationSide"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="criteria" upperBound="-1"
eType="#//OsItemCriteria" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="collect" eType="#//OsCollectClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsVariableDeclaration" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//OsExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsVariable" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsAssignment" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsBooleanLiteral" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsNullLiteral" eSuperTypes="#//OsExpression"/>
<eClassifiers xsi:type="ecore:EClass" name="OsNumberLiteral" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsStringLiteral" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsTemplateLiteral" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsVariableReference" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="#//OsVariable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsDotExpression" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tail" eType="#//OsExpression"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsQueryExpression" eSuperTypes="#//OsExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//OsQuery"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="clause" upperBound="-1"
eType="#//OsClause" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectObjectExpression" eSuperTypes="#//OsCollectExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="alias" eType="#//OsExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
eType="#//OsCollectExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectAllFieldsExpression" eSuperTypes="#//OsCollectExpression"/>
<eClassifiers xsi:type="ecore:EClass" name="OsCollectFieldExpression" eSuperTypes="#//OsCollectExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="alias" eType="#//OsExpression"
containment="true"/>
</eClassifiers>
</ecore:EPackage>