/**
* Copyright (c) 2015-2016 Inria
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* -Fawaz Paraiso <fawaz.paraiso@inria.fr>
* - Philippe Merle <philippe.merle@inria.fr>
*/
package org.occiware.clouddesigner.occi.docker.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.occiware.clouddesigner.occi.docker.DockerPackage;
import org.occiware.clouddesigner.occi.docker.Machine_Digital_Ocean;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Machine Digital Ocean</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.occiware.clouddesigner.occi.docker.impl.Machine_Digital_OceanImpl#getAccess_token <em>Access token</em>}</li>
* <li>{@link org.occiware.clouddesigner.occi.docker.impl.Machine_Digital_OceanImpl#getImage <em>Image</em>}</li>
* <li>{@link org.occiware.clouddesigner.occi.docker.impl.Machine_Digital_OceanImpl#getRegion <em>Region</em>}</li>
* <li>{@link org.occiware.clouddesigner.occi.docker.impl.Machine_Digital_OceanImpl#getSize <em>Size</em>}</li>
* </ul>
*
* @generated
*/
public class Machine_Digital_OceanImpl extends MachineImpl implements Machine_Digital_Ocean {
/**
* The default value of the '{@link #getAccess_token() <em>Access token</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAccess_token()
* @generated
* @ordered
*/
protected static final String ACCESS_TOKEN_EDEFAULT = null;
/**
* The cached value of the '{@link #getAccess_token() <em>Access token</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAccess_token()
* @generated
* @ordered
*/
protected String access_token = ACCESS_TOKEN_EDEFAULT;
/**
* The default value of the '{@link #getImage() <em>Image</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImage()
* @generated
* @ordered
*/
protected static final String IMAGE_EDEFAULT = "docker";
/**
* The cached value of the '{@link #getImage() <em>Image</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImage()
* @generated
* @ordered
*/
protected String image = IMAGE_EDEFAULT;
/**
* The default value of the '{@link #getRegion() <em>Region</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegion()
* @generated
* @ordered
*/
protected static final String REGION_EDEFAULT = "nyc3";
/**
* The cached value of the '{@link #getRegion() <em>Region</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegion()
* @generated
* @ordered
*/
protected String region = REGION_EDEFAULT;
/**
* The default value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected static final String SIZE_EDEFAULT = "512mb";
/**
* The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected String size = SIZE_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Machine_Digital_OceanImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return DockerPackage.Literals.MACHINE_DIGITAL_OCEAN;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getAccess_token() {
return access_token;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setAccess_token(String newAccess_token) {
String oldAccess_token = access_token;
access_token = newAccess_token;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DockerPackage.MACHINE_DIGITAL_OCEAN__ACCESS_TOKEN, oldAccess_token, access_token));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getImage() {
return image;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setImage(String newImage) {
String oldImage = image;
image = newImage;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DockerPackage.MACHINE_DIGITAL_OCEAN__IMAGE, oldImage, image));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getRegion() {
return region;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRegion(String newRegion) {
String oldRegion = region;
region = newRegion;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DockerPackage.MACHINE_DIGITAL_OCEAN__REGION, oldRegion, region));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getSize() {
return size;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSize(String newSize) {
String oldSize = size;
size = newSize;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DockerPackage.MACHINE_DIGITAL_OCEAN__SIZE, oldSize, size));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case DockerPackage.MACHINE_DIGITAL_OCEAN__ACCESS_TOKEN:
return getAccess_token();
case DockerPackage.MACHINE_DIGITAL_OCEAN__IMAGE:
return getImage();
case DockerPackage.MACHINE_DIGITAL_OCEAN__REGION:
return getRegion();
case DockerPackage.MACHINE_DIGITAL_OCEAN__SIZE:
return getSize();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case DockerPackage.MACHINE_DIGITAL_OCEAN__ACCESS_TOKEN:
setAccess_token((String)newValue);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__IMAGE:
setImage((String)newValue);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__REGION:
setRegion((String)newValue);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__SIZE:
setSize((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case DockerPackage.MACHINE_DIGITAL_OCEAN__ACCESS_TOKEN:
setAccess_token(ACCESS_TOKEN_EDEFAULT);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__IMAGE:
setImage(IMAGE_EDEFAULT);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__REGION:
setRegion(REGION_EDEFAULT);
return;
case DockerPackage.MACHINE_DIGITAL_OCEAN__SIZE:
setSize(SIZE_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case DockerPackage.MACHINE_DIGITAL_OCEAN__ACCESS_TOKEN:
return ACCESS_TOKEN_EDEFAULT == null ? access_token != null : !ACCESS_TOKEN_EDEFAULT.equals(access_token);
case DockerPackage.MACHINE_DIGITAL_OCEAN__IMAGE:
return IMAGE_EDEFAULT == null ? image != null : !IMAGE_EDEFAULT.equals(image);
case DockerPackage.MACHINE_DIGITAL_OCEAN__REGION:
return REGION_EDEFAULT == null ? region != null : !REGION_EDEFAULT.equals(region);
case DockerPackage.MACHINE_DIGITAL_OCEAN__SIZE:
return SIZE_EDEFAULT == null ? size != null : !SIZE_EDEFAULT.equals(size);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (access_token: ");
result.append(access_token);
result.append(", image: ");
result.append(image);
result.append(", region: ");
result.append(region);
result.append(", size: ");
result.append(size);
result.append(')');
return result.toString();
}
} //Machine_Digital_OceanImpl