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.VarlinkIdlPackage; 016 017import java.util.Collection; 018 019import org.eclipse.emf.common.util.EList; 020 021import org.eclipse.emf.ecore.EClass; 022 023import org.eclipse.emf.ecore.util.EDataTypeEList; 024 025/** 026 * <!-- begin-user-doc --> 027 * An implementation of the model object '<em><b>Enum</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.EnumImpl#getFields <em>Fields</em>}</li> 034 * </ul> 035 * 036 * @generated 037 */ 038public class EnumImpl extends TypeAliasDefinitionImpl implements de.dentrassi.varlink.idl.varlinkIdl.Enum 039{ 040 /** 041 * The cached value of the '{@link #getFields() <em>Fields</em>}' attribute list. 042 * <!-- begin-user-doc --> 043 * <!-- end-user-doc --> 044 * @see #getFields() 045 * @generated 046 * @ordered 047 */ 048 protected EList<String> fields; 049 050 /** 051 * <!-- begin-user-doc --> 052 * <!-- end-user-doc --> 053 * @generated 054 */ 055 protected EnumImpl() 056 { 057 super(); 058 } 059 060 /** 061 * <!-- begin-user-doc --> 062 * <!-- end-user-doc --> 063 * @generated 064 */ 065 @Override 066 protected EClass eStaticClass() 067 { 068 return VarlinkIdlPackage.Literals.ENUM; 069 } 070 071 /** 072 * <!-- begin-user-doc --> 073 * <!-- end-user-doc --> 074 * @generated 075 */ 076 public EList<String> getFields() 077 { 078 if (fields == null) 079 { 080 fields = new EDataTypeEList<String>(String.class, this, VarlinkIdlPackage.ENUM__FIELDS); 081 } 082 return fields; 083 } 084 085 /** 086 * <!-- begin-user-doc --> 087 * <!-- end-user-doc --> 088 * @generated 089 */ 090 @Override 091 public Object eGet(int featureID, boolean resolve, boolean coreType) 092 { 093 switch (featureID) 094 { 095 case VarlinkIdlPackage.ENUM__FIELDS: 096 return getFields(); 097 } 098 return super.eGet(featureID, resolve, coreType); 099 } 100 101 /** 102 * <!-- begin-user-doc --> 103 * <!-- end-user-doc --> 104 * @generated 105 */ 106 @SuppressWarnings("unchecked") 107 @Override 108 public void eSet(int featureID, Object newValue) 109 { 110 switch (featureID) 111 { 112 case VarlinkIdlPackage.ENUM__FIELDS: 113 getFields().clear(); 114 getFields().addAll((Collection<? extends String>)newValue); 115 return; 116 } 117 super.eSet(featureID, newValue); 118 } 119 120 /** 121 * <!-- begin-user-doc --> 122 * <!-- end-user-doc --> 123 * @generated 124 */ 125 @Override 126 public void eUnset(int featureID) 127 { 128 switch (featureID) 129 { 130 case VarlinkIdlPackage.ENUM__FIELDS: 131 getFields().clear(); 132 return; 133 } 134 super.eUnset(featureID); 135 } 136 137 /** 138 * <!-- begin-user-doc --> 139 * <!-- end-user-doc --> 140 * @generated 141 */ 142 @Override 143 public boolean eIsSet(int featureID) 144 { 145 switch (featureID) 146 { 147 case VarlinkIdlPackage.ENUM__FIELDS: 148 return fields != null && !fields.isEmpty(); 149 } 150 return super.eIsSet(featureID); 151 } 152 153 /** 154 * <!-- begin-user-doc --> 155 * <!-- end-user-doc --> 156 * @generated 157 */ 158 @Override 159 public String toString() 160 { 161 if (eIsProxy()) return super.toString(); 162 163 StringBuffer result = new StringBuffer(super.toString()); 164 result.append(" (fields: "); 165 result.append(fields); 166 result.append(')'); 167 return result.toString(); 168 } 169 170} //EnumImpl