All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.xtext.impl.GrammarImpl Maven / Gradle / Ivy

/**
 * 
 * 
 *
 * $Id: GrammarImpl.java,v 1.21 2010/04/06 14:10:03 sefftinge Exp $
 */
package org.eclipse.xtext.impl;

import java.util.Collection;

import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;

import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;

import org.eclipse.xtext.AbstractMetamodelDeclaration;
import org.eclipse.xtext.AbstractRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.XtextPackage;

/**
 * 
 * An implementation of the model object 'Grammar'.
 * 
 * 

* The following features are implemented: *

    *
  • {@link org.eclipse.xtext.impl.GrammarImpl#getName Name}
  • *
  • {@link org.eclipse.xtext.impl.GrammarImpl#getUsedGrammars Used Grammars}
  • *
  • {@link org.eclipse.xtext.impl.GrammarImpl#isDefinesHiddenTokens Defines Hidden Tokens}
  • *
  • {@link org.eclipse.xtext.impl.GrammarImpl#getHiddenTokens Hidden Tokens}
  • *
  • {@link org.eclipse.xtext.impl.GrammarImpl#getMetamodelDeclarations Metamodel Declarations}
  • *
  • {@link org.eclipse.xtext.impl.GrammarImpl#getRules Rules}
  • *
*

* * @generated */ public class GrammarImpl extends MinimalEObjectImpl.Container implements Grammar { /** * The default value of the '{@link #getName() Name}' attribute. * * * @see #getName() * @generated * @ordered */ protected static final String NAME_EDEFAULT = null; /** * The cached value of the '{@link #getName() Name}' attribute. * * * @see #getName() * @generated * @ordered */ protected String name = NAME_EDEFAULT; /** * The cached value of the '{@link #getUsedGrammars() Used Grammars}' reference list. * * * @see #getUsedGrammars() * @generated * @ordered */ protected EList usedGrammars; /** * The default value of the '{@link #isDefinesHiddenTokens() Defines Hidden Tokens}' attribute. * * * @see #isDefinesHiddenTokens() * @generated * @ordered */ protected static final boolean DEFINES_HIDDEN_TOKENS_EDEFAULT = false; /** * The cached value of the '{@link #isDefinesHiddenTokens() Defines Hidden Tokens}' attribute. * * * @see #isDefinesHiddenTokens() * @generated * @ordered */ protected boolean definesHiddenTokens = DEFINES_HIDDEN_TOKENS_EDEFAULT; /** * The cached value of the '{@link #getHiddenTokens() Hidden Tokens}' reference list. * * * @see #getHiddenTokens() * @generated * @ordered */ protected EList hiddenTokens; /** * The cached value of the '{@link #getMetamodelDeclarations() Metamodel Declarations}' containment reference list. * * * @see #getMetamodelDeclarations() * @generated * @ordered */ protected EList metamodelDeclarations; /** * The cached value of the '{@link #getRules() Rules}' containment reference list. * * * @see #getRules() * @generated * @ordered */ protected EList rules; /** * * * @generated */ protected GrammarImpl() { super(); } /** * * * @generated */ @Override protected EClass eStaticClass() { return XtextPackage.Literals.GRAMMAR; } /** * * * @generated */ public String getName() { return name; } /** * * * @generated */ public void setName(String newName) { String oldName = name; name = newName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XtextPackage.GRAMMAR__NAME, oldName, name)); } /** * * * @generated */ public EList getUsedGrammars() { if (usedGrammars == null) { usedGrammars = new EObjectResolvingEList(Grammar.class, this, XtextPackage.GRAMMAR__USED_GRAMMARS); } return usedGrammars; } /** * * * @generated */ public boolean isDefinesHiddenTokens() { return definesHiddenTokens; } /** * * * @generated */ public void setDefinesHiddenTokens(boolean newDefinesHiddenTokens) { boolean oldDefinesHiddenTokens = definesHiddenTokens; definesHiddenTokens = newDefinesHiddenTokens; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XtextPackage.GRAMMAR__DEFINES_HIDDEN_TOKENS, oldDefinesHiddenTokens, definesHiddenTokens)); } /** * * * @generated */ public EList getHiddenTokens() { if (hiddenTokens == null) { hiddenTokens = new EObjectResolvingEList(AbstractRule.class, this, XtextPackage.GRAMMAR__HIDDEN_TOKENS); } return hiddenTokens; } /** * * * @generated */ public EList getMetamodelDeclarations() { if (metamodelDeclarations == null) { metamodelDeclarations = new EObjectContainmentEList(AbstractMetamodelDeclaration.class, this, XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS); } return metamodelDeclarations; } /** * * * @generated */ public EList getRules() { if (rules == null) { rules = new EObjectContainmentEList(AbstractRule.class, this, XtextPackage.GRAMMAR__RULES); } return rules; } /** * * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS: return ((InternalEList)getMetamodelDeclarations()).basicRemove(otherEnd, msgs); case XtextPackage.GRAMMAR__RULES: return ((InternalEList)getRules()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case XtextPackage.GRAMMAR__NAME: return getName(); case XtextPackage.GRAMMAR__USED_GRAMMARS: return getUsedGrammars(); case XtextPackage.GRAMMAR__DEFINES_HIDDEN_TOKENS: return isDefinesHiddenTokens(); case XtextPackage.GRAMMAR__HIDDEN_TOKENS: return getHiddenTokens(); case XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS: return getMetamodelDeclarations(); case XtextPackage.GRAMMAR__RULES: return getRules(); } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case XtextPackage.GRAMMAR__NAME: setName((String)newValue); return; case XtextPackage.GRAMMAR__USED_GRAMMARS: getUsedGrammars().clear(); getUsedGrammars().addAll((Collection)newValue); return; case XtextPackage.GRAMMAR__DEFINES_HIDDEN_TOKENS: setDefinesHiddenTokens((Boolean)newValue); return; case XtextPackage.GRAMMAR__HIDDEN_TOKENS: getHiddenTokens().clear(); getHiddenTokens().addAll((Collection)newValue); return; case XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS: getMetamodelDeclarations().clear(); getMetamodelDeclarations().addAll((Collection)newValue); return; case XtextPackage.GRAMMAR__RULES: getRules().clear(); getRules().addAll((Collection)newValue); return; } super.eSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case XtextPackage.GRAMMAR__NAME: setName(NAME_EDEFAULT); return; case XtextPackage.GRAMMAR__USED_GRAMMARS: getUsedGrammars().clear(); return; case XtextPackage.GRAMMAR__DEFINES_HIDDEN_TOKENS: setDefinesHiddenTokens(DEFINES_HIDDEN_TOKENS_EDEFAULT); return; case XtextPackage.GRAMMAR__HIDDEN_TOKENS: getHiddenTokens().clear(); return; case XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS: getMetamodelDeclarations().clear(); return; case XtextPackage.GRAMMAR__RULES: getRules().clear(); return; } super.eUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case XtextPackage.GRAMMAR__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case XtextPackage.GRAMMAR__USED_GRAMMARS: return usedGrammars != null && !usedGrammars.isEmpty(); case XtextPackage.GRAMMAR__DEFINES_HIDDEN_TOKENS: return definesHiddenTokens != DEFINES_HIDDEN_TOKENS_EDEFAULT; case XtextPackage.GRAMMAR__HIDDEN_TOKENS: return hiddenTokens != null && !hiddenTokens.isEmpty(); case XtextPackage.GRAMMAR__METAMODEL_DECLARATIONS: return metamodelDeclarations != null && !metamodelDeclarations.isEmpty(); case XtextPackage.GRAMMAR__RULES: return rules != null && !rules.isEmpty(); } return super.eIsSet(featureID); } /** * * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (name: "); result.append(name); result.append(", definesHiddenTokens: "); result.append(definesHiddenTokens); result.append(')'); return result.toString(); } } //GrammarImpl




© 2015 - 2025 Weber Informatics LLC | Privacy Policy