| package org.eclipse.gmf.tooling.examples.compartments.diagram.providers; |
| |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.emf.ecore.EAttribute; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; |
| import org.eclipse.gmf.runtime.common.core.service.IOperation; |
| import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation; |
| import org.eclipse.gmf.runtime.common.ui.services.parser.IParser; |
| import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider; |
| import org.eclipse.gmf.runtime.common.ui.services.parser.ParserService; |
| import org.eclipse.gmf.runtime.emf.type.core.IElementType; |
| import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; |
| import org.eclipse.gmf.runtime.notation.View; |
| import org.eclipse.gmf.tooling.examples.compartments.CompartmentsPackage; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfA_CNameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfA_DNameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfAffixedEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfB_ENameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfB_FNameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.ChildOfB_GNumberEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.TopNodeANameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.edit.parts.TopNodeBNameEditPart; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.parsers.MessageFormatParser; |
| import org.eclipse.gmf.tooling.examples.compartments.diagram.part.CompartmentsVisualIDRegistry; |
| |
| /** |
| * @generated |
| */ |
| public class CompartmentsParserProvider extends AbstractProvider implements IParserProvider { |
| |
| /** |
| * @generated |
| */ |
| private IParser topNodeAName_5003Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getTopNodeAName_5003Parser() { |
| if (topNodeAName_5003Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getTopNodeA_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| topNodeAName_5003Parser = parser; |
| } |
| return topNodeAName_5003Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser topNodeBName_5007Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getTopNodeBName_5007Parser() { |
| if (topNodeBName_5007Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getTopNodeB_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| topNodeBName_5007Parser = parser; |
| } |
| return topNodeBName_5007Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfA_CName_5001Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfA_CName_5001Parser() { |
| if (childOfA_CName_5001Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfA_C_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| childOfA_CName_5001Parser = parser; |
| } |
| return childOfA_CName_5001Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfA_DName_5002Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfA_DName_5002Parser() { |
| if (childOfA_DName_5002Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfA_D_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| childOfA_DName_5002Parser = parser; |
| } |
| return childOfA_DName_5002Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfB_EName_5004Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfB_EName_5004Parser() { |
| if (childOfB_EName_5004Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfB_E_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| childOfB_EName_5004Parser = parser; |
| } |
| return childOfB_EName_5004Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfB_GNumber_5005Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfB_GNumber_5005Parser() { |
| if (childOfB_GNumber_5005Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfB_G_Number() }; |
| EAttribute[] editableFeatures = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfB_G_Number() }; |
| MessageFormatParser parser = new MessageFormatParser(features, editableFeatures); |
| childOfB_GNumber_5005Parser = parser; |
| } |
| return childOfB_GNumber_5005Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfAffixed_3005Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfAffixed_3005Parser() { |
| if (childOfAffixed_3005Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfAffixed_Description() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| childOfAffixed_3005Parser = parser; |
| } |
| return childOfAffixed_3005Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IParser childOfB_FName_5006Parser; |
| |
| /** |
| * @generated |
| */ |
| private IParser getChildOfB_FName_5006Parser() { |
| if (childOfB_FName_5006Parser == null) { |
| EAttribute[] features = new EAttribute[] { CompartmentsPackage.eINSTANCE.getChildOfB_F_Name() }; |
| MessageFormatParser parser = new MessageFormatParser(features); |
| childOfB_FName_5006Parser = parser; |
| } |
| return childOfB_FName_5006Parser; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected IParser getParser(int visualID) { |
| switch (visualID) { |
| case TopNodeANameEditPart.VISUAL_ID: |
| return getTopNodeAName_5003Parser(); |
| case TopNodeBNameEditPart.VISUAL_ID: |
| return getTopNodeBName_5007Parser(); |
| case ChildOfA_CNameEditPart.VISUAL_ID: |
| return getChildOfA_CName_5001Parser(); |
| case ChildOfA_DNameEditPart.VISUAL_ID: |
| return getChildOfA_DName_5002Parser(); |
| case ChildOfB_ENameEditPart.VISUAL_ID: |
| return getChildOfB_EName_5004Parser(); |
| case ChildOfB_GNumberEditPart.VISUAL_ID: |
| return getChildOfB_GNumber_5005Parser(); |
| case ChildOfAffixedEditPart.VISUAL_ID: |
| return getChildOfAffixed_3005Parser(); |
| case ChildOfB_FNameEditPart.VISUAL_ID: |
| return getChildOfB_FName_5006Parser(); |
| } |
| return null; |
| } |
| |
| /** |
| * Utility method that consults ParserService |
| * @generated |
| */ |
| public static IParser getParser(IElementType type, EObject object, String parserHint) { |
| return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint)); |
| } |
| |
| /** |
| * @generated |
| */ |
| public IParser getParser(IAdaptable hint) { |
| String vid = (String) hint.getAdapter(String.class); |
| if (vid != null) { |
| return getParser(CompartmentsVisualIDRegistry.getVisualID(vid)); |
| } |
| View view = (View) hint.getAdapter(View.class); |
| if (view != null) { |
| return getParser(CompartmentsVisualIDRegistry.getVisualID(view)); |
| } |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| public boolean provides(IOperation operation) { |
| if (operation instanceof GetParserOperation) { |
| IAdaptable hint = ((GetParserOperation) operation).getHint(); |
| if (CompartmentsElementTypes.getElement(hint) == null) { |
| return false; |
| } |
| return getParser(hint) != null; |
| } |
| return false; |
| } |
| |
| /** |
| * @generated |
| */ |
| private static class HintAdapter extends ParserHintAdapter { |
| |
| /** |
| * @generated |
| */ |
| private final IElementType elementType; |
| |
| /** |
| * @generated |
| */ |
| public HintAdapter(IElementType type, EObject object, String parserHint) { |
| super(object, parserHint); |
| assert type != null; |
| elementType = type; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Object getAdapter(Class adapter) { |
| if (IElementType.class.equals(adapter)) { |
| return elementType; |
| } |
| return super.getAdapter(adapter); |
| } |
| } |
| |
| } |