/**
 *   Copyright (c) 2010 Mia-Software.
 *   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:
 *   
 *       Nicolas Guyomar (Mia-Software) - initial API and implementation
 */
package org.eclipse.modisco.jee.webapp.webapp24;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Ejb Ref Type Type</b></em>'.
 * <!-- end-user-doc -->
 *
 * <!-- begin-model-doc -->
 * 
 * 
 * 	The ejb-ref-typeType contains the expected type of the
 * 	referenced enterprise bean.
 * 
 * 	The ejb-ref-type designates a value
 * 	that must be one of the following:
 * 
 * 	    Entity
 * 	    Session
 * 
 *       
 * <!-- end-model-doc -->
 *
 *
 * @see org.eclipse.modisco.jee.webapp.webapp24.Webapp24Package#getEjbRefTypeType()
 * @model extendedMetaData="name='ejb-ref-typeType' kind='simple'"
 * @generated
 */
public interface EjbRefTypeType extends org.eclipse.modisco.jee.webapp.webapp24.String {
} // EjbRefTypeType
