package org.jboss.windup.rules.apps.javaee.model;
import org.jboss.windup.rules.apps.xml.model.XmlFileModel;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.frames.Adjacency;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;
/**
* Contains metadata associated with EJB deployment descriptors.
*
* @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a>
*
*/
@TypeValue(EjbDeploymentDescriptorModel.TYPE)
public interface EjbDeploymentDescriptorModel extends XmlFileModel
{
public static final String MESSAGE_DRIVEN = "messageDriven";
public static final String EJB_ENTITY_BEAN = "ejbEntityBean";
public static final String EJB_SESSION_BEAN = "ejbSessionBean";
public static final String SPECIFICATION_VERSION = "specificationVersion";
public static final String TYPE = "EjbDeploymentDescriptorModel";
/**
* The EJB Specification Version
*/
@Property(SPECIFICATION_VERSION)
public String getSpecificationVersion();
/**
* The EJB Specification Version
*/
@Property(SPECIFICATION_VERSION)
public void setSpecificationVersion(String version);
/**
* EJB Session Beans
*/
@Adjacency(label = EJB_SESSION_BEAN, direction = Direction.OUT)
public Iterable<EjbSessionBeanModel> getEjbSessionBeans();
/**
* EJB Session Beans
*/
@Adjacency(label = EJB_SESSION_BEAN, direction = Direction.OUT)
public void addEjbSessionBean(EjbSessionBeanModel ejbSessionBean);
/**
* EJB EntityBeans
*/
@Adjacency(label = EJB_ENTITY_BEAN, direction = Direction.OUT)
public Iterable<EjbEntityBeanModel> getEjbEntityBeans();
/**
* EJB EntityBeans
*/
@Adjacency(label = EJB_SESSION_BEAN, direction = Direction.OUT)
public void addEjbEntityBean(EjbEntityBeanModel ejbEntityBean);
/**
* Message Driven Models
*/
@Adjacency(label = MESSAGE_DRIVEN, direction = Direction.OUT)
public Iterable<EjbMessageDrivenModel> getMessageDriven();
/**
* Message Driven Models
*/
@Adjacency(label = MESSAGE_DRIVEN, direction = Direction.OUT)
public void addMessageDriven(EjbMessageDrivenModel messageDriven);
}