blob: 78c218cc37b9706207bf31cd55154b5450827f69 [file] [log] [blame]
/**
* Copyright (c) 2020 CEA LIST
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
*/
package org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer;
import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.TransformerDecoder;
import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.TransformerEncoder;
import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Transformer</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.TransformerImpl#getNum_encoder_layers <em>Num encoder layers</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.TransformerImpl#getNum_decoder_layers <em>Num decoder layers</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.TransformerImpl#getCustom_encoder <em>Custom encoder</em>}</li>
* <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.TransformerImpl#getCustom_decoder <em>Custom decoder</em>}</li>
* </ul>
*
* @generated
*/
public class TransformerImpl extends Transformer_layers_1Impl implements Transformer {
/**
* The default value of the '{@link #getNum_encoder_layers() <em>Num encoder layers</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum_encoder_layers()
* @generated
* @ordered
*/
protected static final int NUM_ENCODER_LAYERS_EDEFAULT = 0;
/**
* The cached value of the '{@link #getNum_encoder_layers() <em>Num encoder layers</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum_encoder_layers()
* @generated
* @ordered
*/
protected int num_encoder_layers = NUM_ENCODER_LAYERS_EDEFAULT;
/**
* The default value of the '{@link #getNum_decoder_layers() <em>Num decoder layers</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum_decoder_layers()
* @generated
* @ordered
*/
protected static final int NUM_DECODER_LAYERS_EDEFAULT = 0;
/**
* The cached value of the '{@link #getNum_decoder_layers() <em>Num decoder layers</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNum_decoder_layers()
* @generated
* @ordered
*/
protected int num_decoder_layers = NUM_DECODER_LAYERS_EDEFAULT;
/**
* The cached value of the '{@link #getCustom_encoder() <em>Custom encoder</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCustom_encoder()
* @generated
* @ordered
*/
protected TransformerEncoder custom_encoder;
/**
* The cached value of the '{@link #getCustom_decoder() <em>Custom decoder</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCustom_decoder()
* @generated
* @ordered
*/
protected TransformerDecoder custom_decoder;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TransformerImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return Transformer_layersPackage.Literals.TRANSFORMER;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getNum_encoder_layers() {
return num_encoder_layers;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setNum_encoder_layers(int newNum_encoder_layers) {
int oldNum_encoder_layers = num_encoder_layers;
num_encoder_layers = newNum_encoder_layers;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Transformer_layersPackage.TRANSFORMER__NUM_ENCODER_LAYERS, oldNum_encoder_layers, num_encoder_layers));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int getNum_decoder_layers() {
return num_decoder_layers;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setNum_decoder_layers(int newNum_decoder_layers) {
int oldNum_decoder_layers = num_decoder_layers;
num_decoder_layers = newNum_decoder_layers;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Transformer_layersPackage.TRANSFORMER__NUM_DECODER_LAYERS, oldNum_decoder_layers, num_decoder_layers));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public TransformerEncoder getCustom_encoder() {
if (custom_encoder != null && custom_encoder.eIsProxy()) {
InternalEObject oldCustom_encoder = (InternalEObject)custom_encoder;
custom_encoder = (TransformerEncoder)eResolveProxy(oldCustom_encoder);
if (custom_encoder != oldCustom_encoder) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER, oldCustom_encoder, custom_encoder));
}
}
return custom_encoder;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TransformerEncoder basicGetCustom_encoder() {
return custom_encoder;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setCustom_encoder(TransformerEncoder newCustom_encoder) {
TransformerEncoder oldCustom_encoder = custom_encoder;
custom_encoder = newCustom_encoder;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER, oldCustom_encoder, custom_encoder));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public TransformerDecoder getCustom_decoder() {
if (custom_decoder != null && custom_decoder.eIsProxy()) {
InternalEObject oldCustom_decoder = (InternalEObject)custom_decoder;
custom_decoder = (TransformerDecoder)eResolveProxy(oldCustom_decoder);
if (custom_decoder != oldCustom_decoder) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER, oldCustom_decoder, custom_decoder));
}
}
return custom_decoder;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TransformerDecoder basicGetCustom_decoder() {
return custom_decoder;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setCustom_decoder(TransformerDecoder newCustom_decoder) {
TransformerDecoder oldCustom_decoder = custom_decoder;
custom_decoder = newCustom_decoder;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER, oldCustom_decoder, custom_decoder));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case Transformer_layersPackage.TRANSFORMER__NUM_ENCODER_LAYERS:
return getNum_encoder_layers();
case Transformer_layersPackage.TRANSFORMER__NUM_DECODER_LAYERS:
return getNum_decoder_layers();
case Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER:
if (resolve) return getCustom_encoder();
return basicGetCustom_encoder();
case Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER:
if (resolve) return getCustom_decoder();
return basicGetCustom_decoder();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case Transformer_layersPackage.TRANSFORMER__NUM_ENCODER_LAYERS:
setNum_encoder_layers((Integer)newValue);
return;
case Transformer_layersPackage.TRANSFORMER__NUM_DECODER_LAYERS:
setNum_decoder_layers((Integer)newValue);
return;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER:
setCustom_encoder((TransformerEncoder)newValue);
return;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER:
setCustom_decoder((TransformerDecoder)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case Transformer_layersPackage.TRANSFORMER__NUM_ENCODER_LAYERS:
setNum_encoder_layers(NUM_ENCODER_LAYERS_EDEFAULT);
return;
case Transformer_layersPackage.TRANSFORMER__NUM_DECODER_LAYERS:
setNum_decoder_layers(NUM_DECODER_LAYERS_EDEFAULT);
return;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER:
setCustom_encoder((TransformerEncoder)null);
return;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER:
setCustom_decoder((TransformerDecoder)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case Transformer_layersPackage.TRANSFORMER__NUM_ENCODER_LAYERS:
return num_encoder_layers != NUM_ENCODER_LAYERS_EDEFAULT;
case Transformer_layersPackage.TRANSFORMER__NUM_DECODER_LAYERS:
return num_decoder_layers != NUM_DECODER_LAYERS_EDEFAULT;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_ENCODER:
return custom_encoder != null;
case Transformer_layersPackage.TRANSFORMER__CUSTOM_DECODER:
return custom_decoder != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (num_encoder_layers: "); //$NON-NLS-1$
result.append(num_encoder_layers);
result.append(", num_decoder_layers: "); //$NON-NLS-1$
result.append(num_decoder_layers);
result.append(')');
return result.toString();
}
} //TransformerImpl