Xindice API

org.apache.xindice.server
Class Gateway

java.lang.Object
  |
  +--org.apache.xindice.server.Gateway

public abstract class Gateway
extends java.lang.Object

Gateway is an abstract foundation class used in the transfer of protocol-independent data to and from a Xindice Script. Gateway provides most of the functionality required by custom implementations and does not hide the fact that it is partial to the HTTP protocol. Gateway handles the construction of headers, cookies, and persistent state objects. It also acts as a functional overlay to the public methods of Kernel that can be exposed to a Script.

Note: The Gateway is a volatile object, usually cached and reused by a Service after a request has been fulfilled. You should not pass Gateway instances to methods that may refer to those instances after the current request has been fulfilled because the state of the Gateway will likely no longer be valid.

See Also:
Script

Constructor Summary
Gateway()
           
 
Method Summary
 java.util.Iterator enumCookies()
           
 java.util.Iterator enumFormValues()
           
 java.util.Iterator enumObjects()
           
 java.util.Iterator enumRequestHeader()
           
 java.util.Iterator enumResponseHeader()
           
 ScriptComponent getComponent(java.lang.String name)
          getComponent returns a component of the specified name.
abstract  ByteBuffer getContent()
           
 java.lang.String getCookie(java.lang.String key)
           
static Gateway getCurrentGateway()
          getCurrentGateway returns the operating Gateway Object for this Thread.
 FileResource getFileResource(java.lang.String filename)
          getFileResource returns a FileResource instance for the specified filename.
 java.lang.String getFormValue(java.lang.String key)
           
abstract  java.lang.String getGatewayType()
          Returns version information on the Gateway type used
abstract  ByteBuffer getHeaderContent(int code)
           
abstract  java.io.InputStream getInputStream()
           
abstract  java.io.OutputStream getNativeOutputStream()
           
 java.lang.Object getObject(java.lang.String name)
           
abstract  java.io.OutputStream getOutputStream()
           
abstract  java.lang.String getPathAlias()
           
 java.lang.String getRequestHeader(java.lang.String key)
           
 java.lang.Object getResource(java.lang.String name)
          getResource retrieves a resource by name from the ResourceManager.
 java.lang.Object getResource(Versioning versioning, java.lang.String name)
          getResource retrieves a resource by name from the ResourceManager.
 java.lang.String getResponseHeader(java.lang.String key)
           
abstract  java.lang.String getRootURL()
           
abstract  java.lang.String getScriptBase()
           
abstract  java.lang.String getScriptName()
           
abstract  java.lang.String getScriptPath()
           
 FileResource getTemporaryFileResource()
          getTemporaryFileResource returns a temporary FileResource instance.
 User getUser()
           
 boolean isCookieNull(java.lang.String key)
           
 boolean isFormValueNull(java.lang.String key)
           
 boolean isObjectNull(java.lang.String name)
           
 boolean isRequestHeaderNull(java.lang.String key)
           
 boolean isResponseHeaderNull(java.lang.String key)
           
 void logMessage(int type, java.lang.String message)
          logMessage logs a message to the LogManager.
abstract  void redirectLocal(java.lang.String URI)
           
abstract  void redirectRemote(java.lang.String URL)
           
 void removeAllObjects()
           
 void removeCookie(java.lang.String key)
           
 void removeFormValue(java.lang.String key)
           
 void removeObject(java.lang.String name)
           
 void removeResource(java.lang.String name)
          removeResource removes a resource by name from the ResourceManager.
 void removeResource(Versioning versioning, java.lang.String name)
          removeResource removes a resource by name from the ResourceManager.
 void removeResponseHeader(java.lang.String key)
           
abstract  void resetOutputStream()
           
 void runScript(java.lang.String name)
          runScript executs a Script in the ScriptManager's storage by name.
abstract  void send()
           
abstract  void send(int code)
           
abstract  void sendError()
           
abstract  void sendError(int code)
           
abstract  void sendError(int code, java.lang.String message)
           
abstract  void sendException(java.lang.String name, java.lang.Exception e)
           
 void setCookie(java.lang.String key, java.lang.String value)
           
 void setCookie(java.lang.String key, java.lang.String value, java.util.Date expires)
           
 void setCookie(java.lang.String key, java.lang.String value, java.util.Date expires, java.lang.String path)
           
 void setCookie(java.lang.String key, java.lang.String value, java.util.Date expires, java.lang.String path, java.lang.String domain)
           
 void setCookie(java.lang.String key, java.lang.String value, java.util.Date expires, java.lang.String path, java.lang.String domain, boolean secure)
           
 void setFormValue(java.lang.String key, java.lang.String value)
           
 void setObject(java.lang.String name, java.lang.Object object)
           
 void setRequestHeader(java.lang.String key, java.lang.String value)
           
 void setResource(java.lang.String name, java.lang.Object object)
          setResource places a resource by name into the ResourceManager.
 void setResource(Versioning versioning, java.lang.String name, java.lang.Object object)
          setResource places a resource by name into the ResourceManager.
 void setResponseHeader(java.lang.String key, java.lang.String value)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Gateway

public Gateway()
Method Detail

getCurrentGateway

public static Gateway getCurrentGateway()
getCurrentGateway returns the operating Gateway Object for this Thread.
Returns:
The Thread's Gateway

getGatewayType

public abstract java.lang.String getGatewayType()
Returns version information on the Gateway type used
Returns:
The gateway type (ex: "CGI1.0")

getOutputStream

public abstract java.io.OutputStream getOutputStream()

resetOutputStream

public abstract void resetOutputStream()

getNativeOutputStream

public abstract java.io.OutputStream getNativeOutputStream()

getInputStream

public abstract java.io.InputStream getInputStream()

getContent

public abstract ByteBuffer getContent()

getHeaderContent

public abstract ByteBuffer getHeaderContent(int code)

send

public abstract void send(int code)

send

public abstract void send()

sendError

public abstract void sendError(int code,
                               java.lang.String message)

sendError

public abstract void sendError(int code)

sendError

public abstract void sendError()

sendException

public abstract void sendException(java.lang.String name,
                                   java.lang.Exception e)

redirectLocal

public abstract void redirectLocal(java.lang.String URI)

redirectRemote

public abstract void redirectRemote(java.lang.String URL)

getRootURL

public abstract java.lang.String getRootURL()

getScriptName

public abstract java.lang.String getScriptName()

getScriptPath

public abstract java.lang.String getScriptPath()

getScriptBase

public abstract java.lang.String getScriptBase()

getPathAlias

public abstract java.lang.String getPathAlias()

getFileResource

public FileResource getFileResource(java.lang.String filename)
getFileResource returns a FileResource instance for the specified filename.
Parameters:
filename - The filename to retrieve
Returns:
the FileResource

getTemporaryFileResource

public FileResource getTemporaryFileResource()
getTemporaryFileResource returns a temporary FileResource instance.
Returns:
the FileResource

setResource

public void setResource(Versioning versioning,
                        java.lang.String name,
                        java.lang.Object object)
                 throws ParameterException
setResource places a resource by name into the ResourceManager. The resource will be placed into the name space for the provided Versioning object.
Parameters:
versioning - the version space to use
name - the resource name
object - the object resource
Throws:
ParameterException - if the object cannot be stored

setResource

public void setResource(java.lang.String name,
                        java.lang.Object object)
                 throws ParameterException
setResource places a resource by name into the ResourceManager. The resource will be placed into the default name space.
Parameters:
name - the resource name
object - the object resource
Throws:
ParameterException - if the object cannot be stored

removeResource

public void removeResource(Versioning versioning,
                           java.lang.String name)
removeResource removes a resource by name from the ResourceManager. The resource will be removed from the name space for the provided Versioning object.
Parameters:
versioning - the version space to use
name - the resource name

removeResource

public void removeResource(java.lang.String name)
removeResource removes a resource by name from the ResourceManager. The resource will be removed from the default name space.
Parameters:
name - the resource name

getResource

public java.lang.Object getResource(Versioning versioning,
                                    java.lang.String name)
getResource retrieves a resource by name from the ResourceManager. The resource will be retrived from the name space for the provided Versioning object.
Parameters:
versioning - the version space to use
name - the resource name
Returns:
the object resource

getResource

public java.lang.Object getResource(java.lang.String name)
getResource retrieves a resource by name from the ResourceManager. The resource will be retrived from the default name space.
Parameters:
name - the resource name
Returns:
the object resource

runScript

public void runScript(java.lang.String name)
runScript executs a Script in the ScriptManager's storage by name.
Parameters:
name - the Script name

logMessage

public void logMessage(int type,
                       java.lang.String message)
logMessage logs a message to the LogManager.
Parameters:
type - The message type.
message - The message

getComponent

public ScriptComponent getComponent(java.lang.String name)
getComponent returns a component of the specified name.
Parameters:
name - The name of the ScriptComponent
Returns:
the ScriptComponent

enumObjects

public java.util.Iterator enumObjects()

getObject

public java.lang.Object getObject(java.lang.String name)

isObjectNull

public boolean isObjectNull(java.lang.String name)

setObject

public void setObject(java.lang.String name,
                      java.lang.Object object)

removeObject

public void removeObject(java.lang.String name)

removeAllObjects

public void removeAllObjects()

enumRequestHeader

public java.util.Iterator enumRequestHeader()

setRequestHeader

public void setRequestHeader(java.lang.String key,
                             java.lang.String value)

getRequestHeader

public java.lang.String getRequestHeader(java.lang.String key)

isRequestHeaderNull

public boolean isRequestHeaderNull(java.lang.String key)

enumResponseHeader

public java.util.Iterator enumResponseHeader()

setResponseHeader

public void setResponseHeader(java.lang.String key,
                              java.lang.String value)

getResponseHeader

public java.lang.String getResponseHeader(java.lang.String key)

isResponseHeaderNull

public boolean isResponseHeaderNull(java.lang.String key)

removeResponseHeader

public void removeResponseHeader(java.lang.String key)

enumCookies

public java.util.Iterator enumCookies()

getCookie

public java.lang.String getCookie(java.lang.String key)

isCookieNull

public boolean isCookieNull(java.lang.String key)

removeCookie

public void removeCookie(java.lang.String key)

setCookie

public void setCookie(java.lang.String key,
                      java.lang.String value,
                      java.util.Date expires,
                      java.lang.String path,
                      java.lang.String domain,
                      boolean secure)

setCookie

public void setCookie(java.lang.String key,
                      java.lang.String value,
                      java.util.Date expires,
                      java.lang.String path,
                      java.lang.String domain)

setCookie

public void setCookie(java.lang.String key,
                      java.lang.String value,
                      java.util.Date expires,
                      java.lang.String path)

setCookie

public void setCookie(java.lang.String key,
                      java.lang.String value,
                      java.util.Date expires)

setCookie

public void setCookie(java.lang.String key,
                      java.lang.String value)

getUser

public User getUser()

enumFormValues

public java.util.Iterator enumFormValues()

getFormValue

public java.lang.String getFormValue(java.lang.String key)

isFormValueNull

public boolean isFormValueNull(java.lang.String key)

setFormValue

public void setFormValue(java.lang.String key,
                         java.lang.String value)

removeFormValue

public void removeFormValue(java.lang.String key)

Xindice API

Copyright (c) 1999-2001 The Apache Software Foundation