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.BasicType;
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;
023
024/**
025 * <!-- begin-user-doc -->
026 * An implementation of the model object '<em><b>Basic Type</b></em>'.
027 * <!-- end-user-doc -->
028 * <p>
029 * The following features are implemented:
030 * </p>
031 * <ul>
032 *   <li>{@link de.dentrassi.varlink.idl.varlinkIdl.impl.BasicTypeImpl#getType <em>Type</em>}</li>
033 * </ul>
034 *
035 * @generated
036 */
037public class BasicTypeImpl extends ElementTypeImpl implements BasicType
038{
039  /**
040   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
041   * <!-- begin-user-doc -->
042   * <!-- end-user-doc -->
043   * @see #getType()
044   * @generated
045   * @ordered
046   */
047  protected static final String TYPE_EDEFAULT = null;
048
049  /**
050   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
051   * <!-- begin-user-doc -->
052   * <!-- end-user-doc -->
053   * @see #getType()
054   * @generated
055   * @ordered
056   */
057  protected String type = TYPE_EDEFAULT;
058
059  /**
060   * <!-- begin-user-doc -->
061   * <!-- end-user-doc -->
062   * @generated
063   */
064  protected BasicTypeImpl()
065  {
066    super();
067  }
068
069  /**
070   * <!-- begin-user-doc -->
071   * <!-- end-user-doc -->
072   * @generated
073   */
074  @Override
075  protected EClass eStaticClass()
076  {
077    return VarlinkIdlPackage.Literals.BASIC_TYPE;
078  }
079
080  /**
081   * <!-- begin-user-doc -->
082   * <!-- end-user-doc -->
083   * @generated
084   */
085  public String getType()
086  {
087    return type;
088  }
089
090  /**
091   * <!-- begin-user-doc -->
092   * <!-- end-user-doc -->
093   * @generated
094   */
095  public void setType(String newType)
096  {
097    String oldType = type;
098    type = newType;
099    if (eNotificationRequired())
100      eNotify(new ENotificationImpl(this, Notification.SET, VarlinkIdlPackage.BASIC_TYPE__TYPE, oldType, type));
101  }
102
103  /**
104   * <!-- begin-user-doc -->
105   * <!-- end-user-doc -->
106   * @generated
107   */
108  @Override
109  public Object eGet(int featureID, boolean resolve, boolean coreType)
110  {
111    switch (featureID)
112    {
113      case VarlinkIdlPackage.BASIC_TYPE__TYPE:
114        return getType();
115    }
116    return super.eGet(featureID, resolve, coreType);
117  }
118
119  /**
120   * <!-- begin-user-doc -->
121   * <!-- end-user-doc -->
122   * @generated
123   */
124  @Override
125  public void eSet(int featureID, Object newValue)
126  {
127    switch (featureID)
128    {
129      case VarlinkIdlPackage.BASIC_TYPE__TYPE:
130        setType((String)newValue);
131        return;
132    }
133    super.eSet(featureID, newValue);
134  }
135
136  /**
137   * <!-- begin-user-doc -->
138   * <!-- end-user-doc -->
139   * @generated
140   */
141  @Override
142  public void eUnset(int featureID)
143  {
144    switch (featureID)
145    {
146      case VarlinkIdlPackage.BASIC_TYPE__TYPE:
147        setType(TYPE_EDEFAULT);
148        return;
149    }
150    super.eUnset(featureID);
151  }
152
153  /**
154   * <!-- begin-user-doc -->
155   * <!-- end-user-doc -->
156   * @generated
157   */
158  @Override
159  public boolean eIsSet(int featureID)
160  {
161    switch (featureID)
162    {
163      case VarlinkIdlPackage.BASIC_TYPE__TYPE:
164        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
165    }
166    return super.eIsSet(featureID);
167  }
168
169  /**
170   * <!-- begin-user-doc -->
171   * <!-- end-user-doc -->
172   * @generated
173   */
174  @Override
175  public String toString()
176  {
177    if (eIsProxy()) return super.toString();
178
179    StringBuffer result = new StringBuffer(super.toString());
180    result.append(" (type: ");
181    result.append(type);
182    result.append(')');
183    return result.toString();
184  }
185
186} //BasicTypeImpl