blob: f6a089290f8dc6584c72df39c62b494a92dfca74 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2006 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.commonarchivecore.internal.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.jst.j2ee.client.ApplicationClient;
import org.eclipse.jst.j2ee.client.ClientPackage;
import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
import org.eclipse.jst.j2ee.internal.J2EEConstants;
import org.eclipse.jst.j2ee.internal.common.XMLResource;
/**
* @generated
*/
public class ApplicationClientFileImpl extends ModuleFileImpl implements ApplicationClientFile {
/**
* @generated This field/method will be replaced during code generation.
*/
/**
* @generated This field/method will be replaced during code generation.
*/
protected ApplicationClient deploymentDescriptor = null;
public ApplicationClientFileImpl() {
super();
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected EClass eStaticClass() {
return CommonarchivePackage.Literals.APPLICATION_CLIENT_FILE;
}
/**
* @throws DeploymentDescriptorLoadException -
* is a runtime exception, because we can't override the signature of the generated
* methods
*/
public ApplicationClient getDeploymentDescriptor() throws DeploymentDescriptorLoadException {
ApplicationClient dd = this.getDeploymentDescriptorGen();
if (dd == null && canLazyInitialize()) {
try {
getImportStrategy().importMetaData();
} catch (Exception e) {
throw new DeploymentDescriptorLoadException(getDeploymentDescriptorUri(), e);
}
}
return this.getDeploymentDescriptorGen();
}
/**
* @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
*/
public java.lang.String getDeploymentDescriptorUri() {
return J2EEConstants.APP_CLIENT_DD_URI;
}
/**
* Return the DeployementDescriptor.
*/
public EObject getStandardDeploymentDescriptor() throws DeploymentDescriptorLoadException {
return getDeploymentDescriptor();
}
/**
* @see com.ibm.etools.commonarchive.File
*/
public boolean isApplicationClientFile() {
return true;
}
public boolean isDeploymentDescriptorSet() {
return deploymentDescriptor != null;
}
/**
* @see com.ibm.etools.commonarchive.impl.ModuleFileImpl
*/
public org.eclipse.emf.ecore.EObject makeDeploymentDescriptor(XMLResource resource) {
ApplicationClient aClient = ((ClientPackage) EPackage.Registry.INSTANCE.getEPackage(ClientPackage.eNS_URI)).getClientFactory().createApplicationClient();
resource.setID(aClient, J2EEConstants.APP_CLIENT_ID);
setDeploymentDescriptorGen(aClient);
resource.getContents().add(aClient);
return aClient;
}
public void setDeploymentDescriptor(ApplicationClient l) {
this.setDeploymentDescriptorGen(l);
replaceRoot(getMofResourceMakeIfNecessary(getDeploymentDescriptorUri()), l);
}
/**
* @generated This field/method will be replaced during code generation
*/
public ApplicationClient getDeploymentDescriptorGen() {
if (deploymentDescriptor != null && deploymentDescriptor.eIsProxy()) {
InternalEObject oldDeploymentDescriptor = (InternalEObject)deploymentDescriptor;
deploymentDescriptor = (ApplicationClient)eResolveProxy(oldDeploymentDescriptor);
if (deploymentDescriptor != oldDeploymentDescriptor) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
}
}
return deploymentDescriptor;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public ApplicationClient basicGetDeploymentDescriptor() {
return deploymentDescriptor;
}
/**
* @generated This field/method will be replaced during code generation.
*/
public void setDeploymentDescriptorGen(ApplicationClient newDeploymentDescriptor) {
ApplicationClient oldDeploymentDescriptor = deploymentDescriptor;
deploymentDescriptor = newDeploymentDescriptor;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR, oldDeploymentDescriptor, deploymentDescriptor));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR:
if (resolve) return getDeploymentDescriptor();
return basicGetDeploymentDescriptor();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR:
setDeploymentDescriptor((ApplicationClient)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void eUnset(int featureID) {
switch (featureID) {
case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR:
setDeploymentDescriptor((ApplicationClient)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
case CommonarchivePackage.APPLICATION_CLIENT_FILE__DEPLOYMENT_DESCRIPTOR:
return deploymentDescriptor != null;
}
return super.eIsSet(featureID);
}
}