blob: 6847fc073d9225bb3a1a8067d3715597290d1665 [file] [log] [blame]
/**
*/
package org.eclipse.blockchain.model.ethproject.impl;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.blockchain.model.ethproject.DeploymentModel;
import org.eclipse.blockchain.model.ethproject.EthereumProject;
import org.eclipse.blockchain.model.ethproject.EthprojectPackage;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Ethereum Project</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getProjectLocation <em>Project Location</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getProjectDescription <em>Project Description</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getProject <em>Project</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getFirstMatchingSolFile <em>First Matching Sol File</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getProjectNatures <em>Project Natures</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getCompiledSolidityFiles <em>Compiled Solidity Files</em>}</li>
* <li>{@link org.eclipse.blockchain.model.ethproject.impl.EthereumProjectImpl#getEnvironmentBasedDeployedModel <em>Environment Based Deployed Model</em>}</li>
* </ul>
*
* @generated
*/
public class EthereumProjectImpl extends MinimalEObjectImpl.Container implements EthereumProject {
/**
* The default value of the '{@link #getProjectLocation() <em>Project Location</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectLocation()
* @generated
* @ordered
*/
protected static final String PROJECT_LOCATION_EDEFAULT = null;
/**
* The cached value of the '{@link #getProjectLocation() <em>Project Location</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectLocation()
* @generated
* @ordered
*/
protected String projectLocation = PROJECT_LOCATION_EDEFAULT;
/**
* The default value of the '{@link #getProjectDescription() <em>Project Description</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectDescription()
* @generated
* @ordered
*/
protected static final IProjectDescription PROJECT_DESCRIPTION_EDEFAULT = null;
/**
* The cached value of the '{@link #getProjectDescription() <em>Project Description</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectDescription()
* @generated
* @ordered
*/
protected IProjectDescription projectDescription = PROJECT_DESCRIPTION_EDEFAULT;
/**
* The default value of the '{@link #getProject() <em>Project</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProject()
* @generated
* @ordered
*/
protected static final IProject PROJECT_EDEFAULT = null;
/**
* The cached value of the '{@link #getProject() <em>Project</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProject()
* @generated
* @ordered
*/
protected IProject project = PROJECT_EDEFAULT;
/**
* The default value of the '{@link #getFirstMatchingSolFile() <em>First Matching Sol File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFirstMatchingSolFile()
* @generated
* @ordered
*/
protected static final IFile FIRST_MATCHING_SOL_FILE_EDEFAULT = null;
/**
* The cached value of the '{@link #getFirstMatchingSolFile() <em>First Matching Sol File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFirstMatchingSolFile()
* @generated
* @ordered
*/
protected IFile firstMatchingSolFile = FIRST_MATCHING_SOL_FILE_EDEFAULT;
/**
* The default value of the '{@link #getProjectNatures() <em>Project Natures</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectNatures()
* @generated
* @ordered
*/
protected static final List<String> PROJECT_NATURES_EDEFAULT = null;
/**
* The cached value of the '{@link #getProjectNatures() <em>Project Natures</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectNatures()
* @generated
* @ordered
*/
protected List<String> projectNatures = PROJECT_NATURES_EDEFAULT;
/**
* The default value of the '{@link #getCompiledSolidityFiles() <em>Compiled Solidity Files</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCompiledSolidityFiles()
* @generated
* @ordered
*/
protected static final Set<IResource> COMPILED_SOLIDITY_FILES_EDEFAULT = null;
/**
* The cached value of the '{@link #getCompiledSolidityFiles() <em>Compiled Solidity Files</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCompiledSolidityFiles()
* @generated
* @ordered
*/
protected Set<IResource> compiledSolidityFiles = COMPILED_SOLIDITY_FILES_EDEFAULT;
/**
* The default value of the '{@link #getEnvironmentBasedDeployedModel() <em>Environment Based Deployed Model</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnvironmentBasedDeployedModel()
* @generated
* @ordered
*/
protected static final Map<String, Map<IResource, DeploymentModel>> ENVIRONMENT_BASED_DEPLOYED_MODEL_EDEFAULT = null;
/**
* The cached value of the '{@link #getEnvironmentBasedDeployedModel() <em>Environment Based Deployed Model</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnvironmentBasedDeployedModel()
* @generated
* @ordered
*/
protected Map<String, Map<IResource, DeploymentModel>> environmentBasedDeployedModel =
ENVIRONMENT_BASED_DEPLOYED_MODEL_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EthereumProjectImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return EthprojectPackage.Literals.ETHEREUM_PROJECT;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getProjectLocation() {
return projectLocation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProjectLocation(String newProjectLocation) {
String oldProjectLocation = projectLocation;
projectLocation = newProjectLocation;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__PROJECT_LOCATION,
oldProjectLocation, projectLocation));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IProjectDescription getProjectDescription() {
return projectDescription;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProjectDescription(IProjectDescription newProjectDescription) {
IProjectDescription oldProjectDescription = projectDescription;
projectDescription = newProjectDescription;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__PROJECT_DESCRIPTION,
oldProjectDescription, projectDescription));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IProject getProject() {
return project;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProject(IProject newProject) {
IProject oldProject = project;
project = newProject;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__PROJECT, oldProject,
project));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IFile getFirstMatchingSolFile() {
return firstMatchingSolFile;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setFirstMatchingSolFile(IFile newFirstMatchingSolFile) {
IFile oldFirstMatchingSolFile = firstMatchingSolFile;
firstMatchingSolFile = newFirstMatchingSolFile;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__FIRST_MATCHING_SOL_FILE,
oldFirstMatchingSolFile, firstMatchingSolFile));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<String> getProjectNatures() {
return projectNatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProjectNatures(List<String> newProjectNatures) {
List<String> oldProjectNatures = projectNatures;
projectNatures = newProjectNatures;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__PROJECT_NATURES,
oldProjectNatures, projectNatures));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Set<IResource> getCompiledSolidityFiles() {
return compiledSolidityFiles;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setCompiledSolidityFiles(Set<IResource> newCompiledSolidityFiles) {
Set<IResource> oldCompiledSolidityFiles = compiledSolidityFiles;
compiledSolidityFiles = newCompiledSolidityFiles;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, EthprojectPackage.ETHEREUM_PROJECT__COMPILED_SOLIDITY_FILES,
oldCompiledSolidityFiles, compiledSolidityFiles));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Map<String, Map<IResource, DeploymentModel>> getEnvironmentBasedDeployedModel() {
return environmentBasedDeployedModel;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEnvironmentBasedDeployedModel(
Map<String, Map<IResource, DeploymentModel>> newEnvironmentBasedDeployedModel) {
Map<String, Map<IResource, DeploymentModel>> oldEnvironmentBasedDeployedModel = environmentBasedDeployedModel;
environmentBasedDeployedModel = newEnvironmentBasedDeployedModel;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
EthprojectPackage.ETHEREUM_PROJECT__ENVIRONMENT_BASED_DEPLOYED_MODEL, oldEnvironmentBasedDeployedModel,
environmentBasedDeployedModel));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_LOCATION:
return getProjectLocation();
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_DESCRIPTION:
return getProjectDescription();
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT:
return getProject();
case EthprojectPackage.ETHEREUM_PROJECT__FIRST_MATCHING_SOL_FILE:
return getFirstMatchingSolFile();
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_NATURES:
return getProjectNatures();
case EthprojectPackage.ETHEREUM_PROJECT__COMPILED_SOLIDITY_FILES:
return getCompiledSolidityFiles();
case EthprojectPackage.ETHEREUM_PROJECT__ENVIRONMENT_BASED_DEPLOYED_MODEL:
return getEnvironmentBasedDeployedModel();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_LOCATION:
setProjectLocation((String) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_DESCRIPTION:
setProjectDescription((IProjectDescription) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT:
setProject((IProject) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__FIRST_MATCHING_SOL_FILE:
setFirstMatchingSolFile((IFile) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_NATURES:
setProjectNatures((List<String>) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__COMPILED_SOLIDITY_FILES:
setCompiledSolidityFiles((Set<IResource>) newValue);
return;
case EthprojectPackage.ETHEREUM_PROJECT__ENVIRONMENT_BASED_DEPLOYED_MODEL:
setEnvironmentBasedDeployedModel((Map<String, Map<IResource, DeploymentModel>>) newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_LOCATION:
setProjectLocation(PROJECT_LOCATION_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_DESCRIPTION:
setProjectDescription(PROJECT_DESCRIPTION_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT:
setProject(PROJECT_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__FIRST_MATCHING_SOL_FILE:
setFirstMatchingSolFile(FIRST_MATCHING_SOL_FILE_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_NATURES:
setProjectNatures(PROJECT_NATURES_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__COMPILED_SOLIDITY_FILES:
setCompiledSolidityFiles(COMPILED_SOLIDITY_FILES_EDEFAULT);
return;
case EthprojectPackage.ETHEREUM_PROJECT__ENVIRONMENT_BASED_DEPLOYED_MODEL:
setEnvironmentBasedDeployedModel(ENVIRONMENT_BASED_DEPLOYED_MODEL_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_LOCATION:
return PROJECT_LOCATION_EDEFAULT == null ? projectLocation != null
: !PROJECT_LOCATION_EDEFAULT.equals(projectLocation);
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_DESCRIPTION:
return PROJECT_DESCRIPTION_EDEFAULT == null ? projectDescription != null
: !PROJECT_DESCRIPTION_EDEFAULT.equals(projectDescription);
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT:
return PROJECT_EDEFAULT == null ? project != null : !PROJECT_EDEFAULT.equals(project);
case EthprojectPackage.ETHEREUM_PROJECT__FIRST_MATCHING_SOL_FILE:
return FIRST_MATCHING_SOL_FILE_EDEFAULT == null ? firstMatchingSolFile != null
: !FIRST_MATCHING_SOL_FILE_EDEFAULT.equals(firstMatchingSolFile);
case EthprojectPackage.ETHEREUM_PROJECT__PROJECT_NATURES:
return PROJECT_NATURES_EDEFAULT == null ? projectNatures != null
: !PROJECT_NATURES_EDEFAULT.equals(projectNatures);
case EthprojectPackage.ETHEREUM_PROJECT__COMPILED_SOLIDITY_FILES:
return COMPILED_SOLIDITY_FILES_EDEFAULT == null ? compiledSolidityFiles != null
: !COMPILED_SOLIDITY_FILES_EDEFAULT.equals(compiledSolidityFiles);
case EthprojectPackage.ETHEREUM_PROJECT__ENVIRONMENT_BASED_DEPLOYED_MODEL:
return ENVIRONMENT_BASED_DEPLOYED_MODEL_EDEFAULT == null ? environmentBasedDeployedModel != null
: !ENVIRONMENT_BASED_DEPLOYED_MODEL_EDEFAULT.equals(environmentBasedDeployedModel);
}
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(" (projectLocation: ");
result.append(projectLocation);
result.append(", projectDescription: ");
result.append(projectDescription);
result.append(", project: ");
result.append(project);
result.append(", firstMatchingSolFile: ");
result.append(firstMatchingSolFile);
result.append(", projectNatures: ");
result.append(projectNatures);
result.append(", compiledSolidityFiles: ");
result.append(compiledSolidityFiles);
result.append(", environmentBasedDeployedModel: ");
result.append(environmentBasedDeployedModel);
result.append(')');
return result.toString();
}
} //EthereumProjectImpl