blob: de1b0507f58310f2fade417c39899a2d6f14a502 [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.common.internal.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.jem.java.JavaClass;
import org.eclipse.jem.java.JavaRefFactory;
import org.eclipse.jst.j2ee.common.CommonPackage;
import org.eclipse.jst.j2ee.common.Listener;
/**
* Declares a class in the application must be registered as a web application listener bean.
*/
public class ListenerImpl extends CompatibilityDescriptionGroupImpl implements Listener {
/**
* @generated This field/method will be replaced during code generation.
*/
/**
* @generated This field/method will be replaced during code generation.
*/
protected JavaClass listenerClass = null;
/**
* @generated This field/method will be replaced during code generation.
*/
protected ListenerImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return CommonPackage.Literals.LISTENER;
}
/**
* @generated This field/method will be replaced during code generation
* The listener-class element declares a class in the application must be registered as a web application listener bean.
*/
public JavaClass getListenerClass() {
if (listenerClass != null && listenerClass.eIsProxy()) {
InternalEObject oldListenerClass = (InternalEObject)listenerClass;
listenerClass = (JavaClass)eResolveProxy(oldListenerClass);
if (listenerClass != oldListenerClass) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, CommonPackage.LISTENER__LISTENER_CLASS, oldListenerClass, listenerClass));
}
}
return listenerClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public JavaClass basicGetListenerClass() {
return listenerClass;
}
/**
* @generated This field/method will be replaced during code generation.
*/
public void setListenerClass(JavaClass newListenerClass) {
JavaClass oldListenerClass = listenerClass;
listenerClass = newListenerClass;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.LISTENER__LISTENER_CLASS, oldListenerClass, listenerClass));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case CommonPackage.LISTENER__LISTENER_CLASS:
if (resolve) return getListenerClass();
return basicGetListenerClass();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case CommonPackage.LISTENER__LISTENER_CLASS:
setListenerClass((JavaClass)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case CommonPackage.LISTENER__LISTENER_CLASS:
setListenerClass((JavaClass)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case CommonPackage.LISTENER__LISTENER_CLASS:
return listenerClass != null;
}
return super.eIsSet(featureID);
}
/**
* createClassRef - return a JavaURL reference to the named Java class
*/
public JavaClass createClassRef(String targetName) {
return JavaRefFactory.eINSTANCE.createClassRef(targetName);
}
/**
* Get the fully qualified class name for the listener.
*/
public String getListenerClassName() {
getListenerClass();
return (listenerClass == null) ? null : listenerClass.getQualifiedName();
}
/**
* Sets the listener class name.
*/
public void setListenerClassName(String listenerClassName) {
eSet(CommonPackage.eINSTANCE.getListener_ListenerClass(), createClassRef(listenerClassName));
}
} //ListenerImpl