Package org.jboss.resteasy.plugins.server.undertow

## Class UndertowJaxrsServer

- java.lang.Object
- - org.jboss.resteasy.plugins.server.undertow.UndertowJaxrsServer

- All Implemented Interfaces:
    `EmbeddedJaxrsServer<UndertowJaxrsServer>`

      public class UndertowJaxrsServer
      extends Object
      implements EmbeddedJaxrsServer<UndertowJaxrsServer>

  Wrapper around Undertow to make resteasy deployments easier Each ResteasyDeployment or jaxrs Application is deployed under its own web deployment (WAR) You may also deploy after the server has started.
  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected io.undertow.servlet.api.ServletContainer` | `container` |
    `protected Map<String,​String>` | `contextParams` |
    `protected Map<String,​String>` | `initParams` |
    `protected io.undertow.servlet.api.DeploymentManager` | `manager` |
    `protected io.undertow.server.handlers.PathHandler` | `root` |
    `protected io.undertow.Undertow` | `server` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `UndertowJaxrsServer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addResourcePrefixPath​(String path, io.undertow.server.handlers.resource.ResourceHandler handler)` | Maps a path prefix to a resource handler to allow serving resources other than the JAX-RS endpoints.
    `UndertowJaxrsServer` | `deploy()` |
    `UndertowJaxrsServer` | `deploy​(io.undertow.servlet.api.DeploymentInfo builder)` | Adds an arbitrary web deployment to underlying Undertow server.
    `UndertowJaxrsServer` | `deploy​(Class<? extends javax.ws.rs.core.Application> application)` |
    `UndertowJaxrsServer` | `deploy​(Class<? extends javax.ws.rs.core.Application> application, String contextPath)` |
    `UndertowJaxrsServer` | `deploy​(javax.ws.rs.core.Application application)` |
    `UndertowJaxrsServer` | `deploy​(javax.ws.rs.core.Application application, String contextPath)` |
    `UndertowJaxrsServer` | `deploy​(ResteasyDeployment resteasyDeployment)` |
    `UndertowJaxrsServer` | `deployOldStyle​(Class<? extends javax.ws.rs.core.Application> application)` |
    `UndertowJaxrsServer` | `deployOldStyle​(Class<? extends javax.ws.rs.core.Application> application, String ctxtPath)` |
    `Map<String,​String>` | `getContextParams()` |
    `ResteasyDeployment` | `getDeployment()` |
    `Map<String,​String>` | `getInitParams()` |
    `io.undertow.servlet.api.DeploymentManager` | `getManager()` |
    `UndertowJaxrsServer` | `setContextParams​(Map<String,​String> contextParams)` |
    `UndertowJaxrsServer` | `setDeployment​(ResteasyDeployment deployment)` |
    `UndertowJaxrsServer` | `setHostname​(String hostname)` |
    `UndertowJaxrsServer` | `setInitParams​(Map<String,​String> initParams)` |
    `UndertowJaxrsServer` | `setPort​(int port)` |
    `UndertowJaxrsServer` | `setRootResourcePath​(String rootResourcePath)` |
    `UndertowJaxrsServer` | `setSecurityDomain​(SecurityDomain sc)` |
    `UndertowJaxrsServer` | `start()` |
    `UndertowJaxrsServer` | `start​(io.undertow.Undertow.Builder builder)` |
    `void` | `stop()` |
    `io.undertow.servlet.api.DeploymentInfo` | `undertowDeployment​(Class<? extends javax.ws.rs.core.Application> application)` |
    `io.undertow.servlet.api.DeploymentInfo` | `undertowDeployment​(ResteasyDeployment resteasyDeployment)` |
    `io.undertow.servlet.api.DeploymentInfo` | `undertowDeployment​(ResteasyDeployment resteasyDeployment, String mappingPrefix)` | Creates a web deployment for your ResteasyDeployent so you can set up things like security constraints You'd call this method, add your servlet security constraints, then call deploy(DeploymentInfo) Note, only one ResteasyDeployment can be applied per DeploymentInfo ResteasyServlet is mapped to mapping + "/*" Example: DeploymentInfo di = server.undertowDeployment(resteasyDeployment, "rest"); di.setDeploymentName("MyDeployment") di.setContextRoot("root"); server.deploy(di);

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### root

          protected final io.undertow.server.handlers.PathHandler root

    - #### container

          protected final io.undertow.servlet.api.ServletContainer container

    - #### server

          protected io.undertow.Undertow server

    - #### manager

          protected io.undertow.servlet.api.DeploymentManager manager

    - #### contextParams

          protected Map<String,​String> contextParams

    - #### initParams

          protected Map<String,​String> initParams

  - ### Constructor Detail

    - #### UndertowJaxrsServer

          public UndertowJaxrsServer()

  - ### Method Detail

    - #### deploy

          public UndertowJaxrsServer deploy()

      Specified by:
        `deploy` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### start

          public UndertowJaxrsServer start()

      Specified by:
        `start` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### stop

          public void stop()

      Specified by:
        `stop` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### getDeployment

          public ResteasyDeployment getDeployment()

      Specified by:
        `getDeployment` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### setDeployment

          public UndertowJaxrsServer setDeployment​(ResteasyDeployment deployment)

      Specified by:
        `setDeployment` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### setPort

          public UndertowJaxrsServer setPort​(int port)

      Specified by:
        `setPort` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### setHostname

          public UndertowJaxrsServer setHostname​(String hostname)

      Specified by:
        `setHostname` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### setRootResourcePath

          public UndertowJaxrsServer setRootResourcePath​(String rootResourcePath)

      Specified by:
        `setRootResourcePath` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### setSecurityDomain

          public UndertowJaxrsServer setSecurityDomain​(SecurityDomain sc)

      Specified by:
        `setSecurityDomain` in interface `EmbeddedJaxrsServer<UndertowJaxrsServer>`

    - #### deploy

          public UndertowJaxrsServer deploy​(javax.ws.rs.core.Application application)

    - #### deploy

          public UndertowJaxrsServer deploy​(javax.ws.rs.core.Application application,
                                            String contextPath)

    - #### deploy

          public UndertowJaxrsServer deploy​(Class<? extends javax.ws.rs.core.Application> application)

    - #### deploy

          public UndertowJaxrsServer deploy​(Class<? extends javax.ws.rs.core.Application> application,
                                            String contextPath)

    - #### undertowDeployment

          public io.undertow.servlet.api.DeploymentInfo undertowDeployment​(ResteasyDeployment resteasyDeployment,
                                                                           String mappingPrefix)

      Creates a web deployment for your ResteasyDeployent so you can set up things like security constraints You'd call this method, add your servlet security constraints, then call deploy(DeploymentInfo) Note, only one ResteasyDeployment can be applied per DeploymentInfo ResteasyServlet is mapped to mapping + "/*" Example: DeploymentInfo di = server.undertowDeployment(resteasyDeployment, "rest"); di.setDeploymentName("MyDeployment") di.setContextRoot("root"); server.deploy(di);
      Parameters:
        `resteasyDeployment` -
        `mappingPrefix` - resteasy.servlet.mapping.prefix
      Returns:
        must be deployed by calling deploy(DeploymentInfo), also does not set context path or deployment name

    - #### undertowDeployment

          public io.undertow.servlet.api.DeploymentInfo undertowDeployment​(ResteasyDeployment resteasyDeployment)

    - #### undertowDeployment

          public io.undertow.servlet.api.DeploymentInfo undertowDeployment​(Class<? extends javax.ws.rs.core.Application> application)

    - #### addResourcePrefixPath

          public void addResourcePrefixPath​(String path,
                                            io.undertow.server.handlers.resource.ResourceHandler handler)

      Maps a path prefix to a resource handler to allow serving resources other than the JAX-RS endpoints. For example, this can be used for serving static resources like web pages or API documentation that might be deployed with the REST application server.
      Parameters:
        `path` -
        `handler` -

    - #### deploy

          public UndertowJaxrsServer deploy​(ResteasyDeployment resteasyDeployment)

    - #### deploy

          public UndertowJaxrsServer deploy​(io.undertow.servlet.api.DeploymentInfo builder)

      Adds an arbitrary web deployment to underlying Undertow server. This is for your own deployments
      Parameters:
        `builder` -
      Returns:

    - #### start

          public UndertowJaxrsServer start​(io.undertow.Undertow.Builder builder)

    - #### getManager

          public io.undertow.servlet.api.DeploymentManager getManager()

    - #### getContextParams

          public Map<String,​String> getContextParams()

    - #### setContextParams

          public UndertowJaxrsServer setContextParams​(Map<String,​String> contextParams)

    - #### getInitParams

          public Map<String,​String> getInitParams()

    - #### setInitParams

          public UndertowJaxrsServer setInitParams​(Map<String,​String> initParams)

    - #### deployOldStyle

          public UndertowJaxrsServer deployOldStyle​(Class<? extends javax.ws.rs.core.Application> application)

    - #### deployOldStyle

          public UndertowJaxrsServer deployOldStyle​(Class<? extends javax.ws.rs.core.Application> application,
                                                    String ctxtPath)