package org.jboss.windup.rules.apps.javaee.model; import java.util.Map; import org.jboss.windup.graph.MapInAdjacentProperties; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.modules.typedgraph.TypeValue; /** * Contains EJB Message Driven model information and related data. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ @TypeValue(EjbMessageDrivenModel.TYPE) public interface EjbMessageDrivenModel extends EjbBeanBaseModel { String TYPE = "EjbMessageDriven"; String DESTINATION = "destination"; String THREAD_POOL = "threadPool"; String TX_TIMEOUTS = "txTimeouts"; /** * Contains the destination address, typically a JMS queue or topic */ @Adjacency(label = DESTINATION, direction = Direction.IN) JmsDestinationModel getDestination(); /** * Contains the destination address, typically a JMS queue or topic */ @Adjacency(label = DESTINATION, direction = Direction.IN) void setDestination(JmsDestinationModel destination); /** * References the Deployment Descriptor containing EJB. */ @Adjacency(label = EjbDeploymentDescriptorModel.MESSAGE_DRIVEN, direction = Direction.IN) public EjbDeploymentDescriptorModel getEjbDeploymentDescriptor(); /** * Timeouts for each method pattern in seconds, * is wildcard */ @MapInAdjacentProperties(label = TX_TIMEOUTS) Map<String, Integer> getTxTimeouts(); /** * Timeouts for each method pattern, * is wildcard */ @MapInAdjacentProperties(label = TX_TIMEOUTS) void setTxTimeouts(Map<String, Integer> map); /** * References the thread pool, if defined. */ @Adjacency(label = THREAD_POOL, direction = Direction.OUT) void setThreadPool(ThreadPoolModel threadPool); /** * References the thread pool, if defined. */ @Adjacency(label = THREAD_POOL, direction = Direction.OUT) ThreadPoolModel getThreadPool(); }