package org.jboss.windup.rules.apps.javaee.model;
import org.jboss.windup.graph.Indexed;
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;
/**
* JaxRS REST Web Service.
*
* @author <a href="mailto:bradsdavis@gmail.com">Brad Davis</a>
*/
@TypeValue(JaxRSWebServiceModel.TYPE)
public interface JaxRSWebServiceModel extends WebServiceModel
{
String TYPE = "JaxRSWebService";
String JAXRS_IMPLEMENTATION_CLASS = "jaxrsImplementationClass";
String JAXRS_INTERFACE = "jaxrsInterface";
String PATH = "jaxrsPath";
/**
* Contains the URL path to the JaxRS service.
*/
@Property(PATH)
@Indexed
String getPath();
/**
* Contains the URL path to the JaxRS service.
*/
@Property(PATH)
void setPath(String packageName);
/**
* Contains the JAX-RS implementation class
*/
@Adjacency(label = JAXRS_IMPLEMENTATION_CLASS, direction = Direction.OUT)
void setImplementationClass(JavaClassModel implRef);
/**
* Contains the JAX-RS implementation class
*/
@Adjacency(label = JAXRS_IMPLEMENTATION_CLASS, direction = Direction.OUT)
JavaClassModel getImplementationClass();
/**
* Contains the JAX-RS implementation class
*/
@Adjacency(label = JAXRS_INTERFACE, direction = Direction.OUT)
void setInterface(JavaClassModel interfaceRef);
/**
* Contains the JAX-RS implementation class
*/
@Adjacency(label = JAXRS_INTERFACE, direction = Direction.OUT)
JavaClassModel getInterface();
}