Package org.apache.wiki.api.spi

# Interface ContextSPI

public interface ContextSPI
SPI used to locate and provide `Context` instances.

## Method Summary

Modifier and Type
Method
Description
`Context`
`create(Engine engine, jakarta.servlet.http.HttpServletRequest request, String requestContext)`
Creates a new Context from a supplied HTTP request, using a default wiki context.
`Context`
`create(Engine engine, jakarta.servlet.http.HttpServletRequest request, Command command)`
Creates a new Context for the given Engine, Command and HttpServletRequest.
`Context`
`create(Engine engine, jakarta.servlet.http.HttpServletRequest request, Page page)`
Creates a new Context for the given Engine, Page and HttpServletRequest.
`Context`
`create(Engine engine, Page page)`
Create a new Context for the given Page.

## Method Details

### create

Context create(Engine engine, Page page)
Create a new Context for the given Page.

Parameters:
  `engine` - The Engine that is handling the request.
  `page` - The Page. If you want to create a Context for an older version of a page, you must use this method.

### create

Context create(Engine engine, jakarta.servlet.http.HttpServletRequest request, Command command)

Creates a new Context for the given Engine, Command and HttpServletRequest.

This constructor will also look up the HttpSession associated with the request, and determine if a Session object is present. If not, a new one is created.

Parameters:
  `engine` - The Engine that is handling the request
  `request` - The HttpServletRequest that should be associated with this context. This parameter may be `null`.
  `command` - the command

### create

Context create(Engine engine, jakarta.servlet.http.HttpServletRequest request, Page page)
Creates a new Context for the given Engine, Page and HttpServletRequest.

Parameters:
  `engine` - The Engine that is handling the request
  `request` - The HttpServletRequest that should be associated with this context. This parameter may be `null`.
  `page` - The WikiPage. If you want to create a WikiContext for an older version of a page, you must supply this parameter

### create

Context create(Engine engine, jakarta.servlet.http.HttpServletRequest request, String requestContext)
Creates a new Context from a supplied HTTP request, using a default wiki context.

Parameters:
  `engine` - The Engine that is handling the request
  `request` - the HTTP request
  `requestContext` - the default context to use