projet-mini-genie-logiciel-.../eclipse-workspace/fr.n7.pdl1/src-gen/fr/n7/serializer/PDL1SemanticSequencer.java

130 lines
5.3 KiB
Java
Raw Normal View History

2021-10-12 16:49:13 +00:00
/*
* generated by Xtext 2.23.0
*/
package fr.n7.serializer;
import com.google.inject.Inject;
import fr.n7.pDL1.Guidance;
import fr.n7.pDL1.PDL1Package;
import fr.n7.pDL1.WorkDefinition;
import fr.n7.pDL1.WorkSequence;
import fr.n7.services.PDL1GrammarAccess;
import java.util.Set;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.xtext.Action;
import org.eclipse.xtext.Parameter;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.serializer.ISerializationContext;
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
@SuppressWarnings("all")
public class PDL1SemanticSequencer extends AbstractDelegatingSemanticSequencer {
@Inject
private PDL1GrammarAccess grammarAccess;
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == PDL1Package.eINSTANCE)
switch (semanticObject.eClass().getClassifierID()) {
case PDL1Package.GUIDANCE:
sequence_Guidance(context, (Guidance) semanticObject);
return;
case PDL1Package.PROCESS:
sequence_Process(context, (fr.n7.pDL1.Process) semanticObject);
return;
case PDL1Package.WORK_DEFINITION:
sequence_WorkDefinition(context, (WorkDefinition) semanticObject);
return;
case PDL1Package.WORK_SEQUENCE:
sequence_WorkSequence(context, (WorkSequence) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
/**
* Contexts:
* ProcessElement returns Guidance
* Guidance returns Guidance
*
* Constraint:
* texte=STRING
*/
protected void sequence_Guidance(ISerializationContext context, Guidance semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, PDL1Package.Literals.GUIDANCE__TEXTE) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PDL1Package.Literals.GUIDANCE__TEXTE));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getGuidanceAccess().getTexteSTRINGTerminalRuleCall_1_0(), semanticObject.getTexte());
feeder.finish();
}
/**
* Contexts:
* Process returns Process
*
* Constraint:
* (name=ID processElements+=ProcessElement*)
*/
protected void sequence_Process(ISerializationContext context, fr.n7.pDL1.Process semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* ProcessElement returns WorkDefinition
* WorkDefinition returns WorkDefinition
*
* Constraint:
* name=ID
*/
protected void sequence_WorkDefinition(ISerializationContext context, WorkDefinition semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, PDL1Package.Literals.WORK_DEFINITION__NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PDL1Package.Literals.WORK_DEFINITION__NAME));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getWorkDefinitionAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
feeder.finish();
}
/**
* Contexts:
* ProcessElement returns WorkSequence
* WorkSequence returns WorkSequence
*
* Constraint:
* (linkType=WorkSequenceType predecessor=[WorkDefinition|ID] successor=[WorkDefinition|ID])
*/
protected void sequence_WorkSequence(ISerializationContext context, WorkSequence semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__LINK_TYPE) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__LINK_TYPE));
if (transientValues.isValueTransient(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__PREDECESSOR) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__PREDECESSOR));
if (transientValues.isValueTransient(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__SUCCESSOR) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PDL1Package.Literals.WORK_SEQUENCE__SUCCESSOR));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getWorkSequenceAccess().getLinkTypeWorkSequenceTypeEnumRuleCall_1_0(), semanticObject.getLinkType());
feeder.accept(grammarAccess.getWorkSequenceAccess().getPredecessorWorkDefinitionIDTerminalRuleCall_3_0_1(), semanticObject.eGet(PDL1Package.Literals.WORK_SEQUENCE__PREDECESSOR, false));
feeder.accept(grammarAccess.getWorkSequenceAccess().getSuccessorWorkDefinitionIDTerminalRuleCall_5_0_1(), semanticObject.eGet(PDL1Package.Literals.WORK_SEQUENCE__SUCCESSOR, false));
feeder.finish();
}
}