/**
* Copyright (c) 2010, 2012 Obeo.
* 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:
* Obeo - initial API and implementation
*/
package org.eclipse.mylyn.docs.intent.core.compiler.impl;
import org.eclipse.emf.common.util.BasicEMap;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.internal.cdo.CDOObjectImpl;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilerPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnit;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Modeling Unit To Status List</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.ModelingUnitToStatusListImpl#getTypedKey <em>Key</em>}</li>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.ModelingUnitToStatusListImpl#getTypedValue <em>Value</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class ModelingUnitToStatusListImpl extends CDOObjectImpl implements BasicEMap.Entry<ModelingUnit, EList<CompilationStatus>> {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModelingUnitToStatusListImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return CompilerPackage.Literals.MODELING_UNIT_TO_STATUS_LIST;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected int eStaticFeatureCount() {
return 0;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ModelingUnit getTypedKey() {
return (ModelingUnit)eGet(CompilerPackage.Literals.MODELING_UNIT_TO_STATUS_LIST__KEY, true);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTypedKey(ModelingUnit newKey) {
eSet(CompilerPackage.Literals.MODELING_UNIT_TO_STATUS_LIST__KEY, newKey);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
public EList<CompilationStatus> getTypedValue() {
return (EList<CompilationStatus>)eGet(CompilerPackage.Literals.MODELING_UNIT_TO_STATUS_LIST__VALUE,
true);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected int hash = -1;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getHash() {
if (hash == -1) {
Object theKey = getKey();
hash = (theKey == null ? 0 : theKey.hashCode());
}
return hash;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setHash(int hash) {
this.hash = hash;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ModelingUnit getKey() {
return getTypedKey();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setKey(ModelingUnit key) {
setTypedKey(key);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<CompilationStatus> getValue() {
return getTypedValue();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<CompilationStatus> setValue(EList<CompilationStatus> value) {
EList<CompilationStatus> oldValue = getValue();
getTypedValue().clear();
getTypedValue().addAll(value);
return oldValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
public EMap<ModelingUnit, EList<CompilationStatus>> getEMap() {
EObject container = eContainer();
return container == null ? null : (EMap<ModelingUnit, EList<CompilationStatus>>)container
.eGet(eContainmentFeature());
}
} //ModelingUnitToStatusListImpl