001/**
002 * ******************************************************************************
003 * Copyright (c) 2018 Red Hat Inc
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *  *
009 * Contributors:
010 *     Jens Reimann - initial API and implementation
011 *  ******************************************************************************
012 */
013package de.dentrassi.varlink.idl.varlinkIdl.impl;
014
015import de.dentrassi.varlink.idl.varlinkIdl.Member;
016import de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage;
017
018import org.eclipse.emf.common.notify.Notification;
019
020import org.eclipse.emf.ecore.EClass;
021
022import org.eclipse.emf.ecore.impl.ENotificationImpl;
023import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
024
025/**
026 * <!-- begin-user-doc -->
027 * An implementation of the model object '<em><b>Member</b></em>'.
028 * <!-- end-user-doc -->
029 * <p>
030 * The following features are implemented:
031 * </p>
032 * <ul>
033 *   <li>{@link de.dentrassi.varlink.idl.varlinkIdl.impl.MemberImpl#getName <em>Name</em>}</li>
034 * </ul>
035 *
036 * @generated
037 */
038public class MemberImpl extends MinimalEObjectImpl.Container implements Member
039{
040  /**
041   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
042   * <!-- begin-user-doc -->
043   * <!-- end-user-doc -->
044   * @see #getName()
045   * @generated
046   * @ordered
047   */
048  protected static final String NAME_EDEFAULT = null;
049
050  /**
051   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
052   * <!-- begin-user-doc -->
053   * <!-- end-user-doc -->
054   * @see #getName()
055   * @generated
056   * @ordered
057   */
058  protected String name = NAME_EDEFAULT;
059
060  /**
061   * <!-- begin-user-doc -->
062   * <!-- end-user-doc -->
063   * @generated
064   */
065  protected MemberImpl()
066  {
067    super();
068  }
069
070  /**
071   * <!-- begin-user-doc -->
072   * <!-- end-user-doc -->
073   * @generated
074   */
075  @Override
076  protected EClass eStaticClass()
077  {
078    return VarlinkIdlPackage.Literals.MEMBER;
079  }
080
081  /**
082   * <!-- begin-user-doc -->
083   * <!-- end-user-doc -->
084   * @generated
085   */
086  public String getName()
087  {
088    return name;
089  }
090
091  /**
092   * <!-- begin-user-doc -->
093   * <!-- end-user-doc -->
094   * @generated
095   */
096  public void setName(String newName)
097  {
098    String oldName = name;
099    name = newName;
100    if (eNotificationRequired())
101      eNotify(new ENotificationImpl(this, Notification.SET, VarlinkIdlPackage.MEMBER__NAME, oldName, name));
102  }
103
104  /**
105   * <!-- begin-user-doc -->
106   * <!-- end-user-doc -->
107   * @generated
108   */
109  @Override
110  public Object eGet(int featureID, boolean resolve, boolean coreType)
111  {
112    switch (featureID)
113    {
114      case VarlinkIdlPackage.MEMBER__NAME:
115        return getName();
116    }
117    return super.eGet(featureID, resolve, coreType);
118  }
119
120  /**
121   * <!-- begin-user-doc -->
122   * <!-- end-user-doc -->
123   * @generated
124   */
125  @Override
126  public void eSet(int featureID, Object newValue)
127  {
128    switch (featureID)
129    {
130      case VarlinkIdlPackage.MEMBER__NAME:
131        setName((String)newValue);
132        return;
133    }
134    super.eSet(featureID, newValue);
135  }
136
137  /**
138   * <!-- begin-user-doc -->
139   * <!-- end-user-doc -->
140   * @generated
141   */
142  @Override
143  public void eUnset(int featureID)
144  {
145    switch (featureID)
146    {
147      case VarlinkIdlPackage.MEMBER__NAME:
148        setName(NAME_EDEFAULT);
149        return;
150    }
151    super.eUnset(featureID);
152  }
153
154  /**
155   * <!-- begin-user-doc -->
156   * <!-- end-user-doc -->
157   * @generated
158   */
159  @Override
160  public boolean eIsSet(int featureID)
161  {
162    switch (featureID)
163    {
164      case VarlinkIdlPackage.MEMBER__NAME:
165        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
166    }
167    return super.eIsSet(featureID);
168  }
169
170  /**
171   * <!-- begin-user-doc -->
172   * <!-- end-user-doc -->
173   * @generated
174   */
175  @Override
176  public String toString()
177  {
178    if (eIsProxy()) return super.toString();
179
180    StringBuffer result = new StringBuffer(super.toString());
181    result.append(" (name: ");
182    result.append(name);
183    result.append(')');
184    return result.toString();
185  }
186
187} //MemberImpl