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