com.thetransactioncompany.jsonrpc2.server
Class MessageContext

java.lang.Object
  extended by com.thetransactioncompany.jsonrpc2.server.MessageContext

public class MessageContext
extends Object

Context information about JSON-RPC 2.0 request and notification messages.

Author:
Vladimir Dzhuvinov

Nested Class Summary
 class MessageContext.BasicPrincipal
          Minimal implementation of the Principal interface.
 
Constructor Summary
MessageContext()
          Creates a new JSON-RPC 2.0 request / notification context.
MessageContext(javax.servlet.http.HttpServletRequest httpRequest)
          Creates a new JSON-RPC 2.0 request / notification context from the specified HTTP request.
MessageContext(String clientHostName, String clientInetAddress)
          Creates a new JSON-RPC 2.0 request / notification context.
MessageContext(String clientHostName, String clientInetAddress, boolean secure)
          Creates a new JSON-RPC 2.0 request / notification context.
MessageContext(String clientHostName, String clientInetAddress, boolean secure, String principalName)
          Creates a new JSON-RPC 2.0 request / notification context.
MessageContext(String clientHostName, String clientInetAddress, boolean secure, String[] principalNames)
          Creates a new JSON-RPC 2.0 request / notification context.
 
Method Summary
 String getClientHostName()
          Gets the host name of the client that sent the request / notification.
 String getClientInetAddress()
          Gets the IP address of the client that sent the request / notification.
 Principal getPrincipal()
          Returns the first authenticated client principal, null if none.
 String getPrincipalName()
          Returns the first authenticated client principal name, null if none.
 String[] getPrincipalNames()
          Returns the authenticated client principal names, null if none.
 Principal[] getPrincipals()
          Returns the authenticated client principals, null if none.
 boolean isSecure()
          Indicates whether the request / notification was received over a secure HTTPS connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageContext

public MessageContext(String clientHostName,
                      String clientInetAddress,
                      boolean secure,
                      String principalName)
Creates a new JSON-RPC 2.0 request / notification context.

Parameters:
clientHostName - The client host name, null if unknown.
clientInetAddress - The client IP address, null if unknown.
secure - Specifies a request received over HTTPS.
principalName - Specifies the authenticated client principle name, null if unknown. The name must not be an empty or blank string.

MessageContext

public MessageContext(String clientHostName,
                      String clientInetAddress,
                      boolean secure,
                      String[] principalNames)
Creates a new JSON-RPC 2.0 request / notification context.

Parameters:
clientHostName - The client host name, null if unknown.
clientInetAddress - The client IP address, null if unknown.
secure - Specifies a request received over HTTPS.
principalNames - Specifies the authenticated client principle names, null if unknown. The names must not be an empty or blank string.

MessageContext

public MessageContext(String clientHostName,
                      String clientInetAddress,
                      boolean secure)
Creates a new JSON-RPC 2.0 request / notification context. No authenticated client principal is specified.

Parameters:
clientHostName - The client host name, null if unknown.
clientInetAddress - The client IP address, null if unknown.
secure - Specifies a request received over HTTPS.

MessageContext

public MessageContext(String clientHostName,
                      String clientInetAddress)
Creates a new JSON-RPC 2.0 request / notification context. Indicates an insecure transport (plain HTTP) and no authenticated client principal.

Parameters:
clientHostName - The client host name, null if unknown.
clientInetAddress - The client IP address, null if unknown.

MessageContext

public MessageContext()
Creates a new JSON-RPC 2.0 request / notification context. Indicates an insecure transport (plain HTTP) and no authenticated client principal. Not client host name / IP is specified.


MessageContext

public MessageContext(javax.servlet.http.HttpServletRequest httpRequest)
Creates a new JSON-RPC 2.0 request / notification context from the specified HTTP request.

Parameters:
httpRequest - The HTTP request.
Method Detail

getClientHostName

public String getClientHostName()
Gets the host name of the client that sent the request / notification.

Returns:
The client host name, null if unknown.

getClientInetAddress

public String getClientInetAddress()
Gets the IP address of the client that sent the request / notification.

Returns:
The client IP address, null if unknown.

isSecure

public boolean isSecure()
Indicates whether the request / notification was received over a secure HTTPS connection.

Returns:
true If the request was received over HTTPS, false if it was received over plain HTTP.

getPrincipal

public Principal getPrincipal()
Returns the first authenticated client principal, null if none.

Returns:
The first client principal, null if none.

getPrincipals

public Principal[] getPrincipals()
Returns the authenticated client principals, null if none.

Returns:
The client principals, null if none.

getPrincipalName

public String getPrincipalName()
Returns the first authenticated client principal name, null if none.

Returns:
The frist client principal name, null if none.

getPrincipalNames

public String[] getPrincipalNames()
Returns the authenticated client principal names, null if none.

Returns:
The client principal names, null if none.


Copyright © 2013 The Transaction Company. All Rights Reserved.