package org.jboss.windup.rules.apps.javaee.model;
import org.jboss.windup.rules.apps.java.model.JavaClassModel;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.frames.Adjacency;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;
/**
* Contains EJB Entity information and related data.
*
* @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a>
* @author <a href="mailto:zizka@seznam.cz">Ondrej Zizka</a>
*/
@TypeValue(EjbEntityBeanModel.TYPE)
public interface EjbEntityBeanModel extends EjbBeanBaseModel, PersistenceEntityModel
{
public static final String TYPE = "EjbEntityBean";
public static final String EJB_HOME = TYPE + "-ejbHome";
public static final String EJB_LOCAL_HOME = TYPE + "-ejbLocalHome";
public static final String EJB_REMOTE = TYPE + "-ejbRemote";
public static final String EJB_LOCAL = TYPE + "-ejbLocal";
public static final String PERSISTENCE_TYPE = TYPE + "-persistenceType";
/**
* Contains the Entity Persistence Type
*/
@Property(PERSISTENCE_TYPE)
public void setPersistenceType(String persistenceType);
/**
* Contains the Entity Persistence Type
*/
@Property(PERSISTENCE_TYPE)
public String getPersistenceType();
/**
* Contains the Session bean's local interface
*/
@Adjacency(label = EJB_LOCAL, direction = Direction.OUT)
public void setEjbLocal(JavaClassModel ejbLocal);
/**
* Contains the Session bean's local interface
*/
@Adjacency(label = EJB_LOCAL, direction = Direction.OUT)
public JavaClassModel getEjbLocal();
/**
* Contains the Session bean's remote interface
*/
@Adjacency(label = EJB_REMOTE, direction = Direction.OUT)
public void setEjbRemote(JavaClassModel ejbRemote);
/**
* Contains the Session bean's remote interface
*/
@Adjacency(label = EJB_REMOTE, direction = Direction.OUT)
public JavaClassModel getEjbRemote();
/**
* Contains the Session bean's local home
*/
@Adjacency(label = EJB_LOCAL_HOME, direction = Direction.OUT)
public void setEjbLocalHome(JavaClassModel ejbLocalHome);
/**
* Contains the Session bean's local home
*/
@Adjacency(label = EJB_LOCAL_HOME, direction = Direction.OUT)
public JavaClassModel getEjbLocalHome();
/**
* Contains the Session bean's home interface
*/
@Adjacency(label = EJB_HOME, direction = Direction.OUT)
public void setEjbHome(JavaClassModel ejbHome);
/**
* Contains the Session bean's home interface
*/
@Adjacency(label = EJB_HOME, direction = Direction.OUT)
public JavaClassModel getEjbHome();
/**
* References the Deployment Descriptor containing EJB.
*/
@Adjacency(label = EjbDeploymentDescriptorModel.EJB_ENTITY_BEAN, direction = Direction.IN)
public EjbDeploymentDescriptorModel getEjbDeploymentDescriptor();
}