com.raritantechnologies.quickstart.userInterface
Class DynamicContentHandlerFilter

java.lang.Object
  extended bycom.raritantechnologies.quickstart.userInterface.DynamicContentHandlerFilter
All Implemented Interfaces:
IConfigurable, IDocumentContentHandler

public class DynamicContentHandlerFilter
extends java.lang.Object
implements IDocumentContentHandler

ContentHandler filter that chooses appropriate content handler based on an IComparator match.

XML Configuration Template:
    <ContentHandler 
           contentType="[Quickstart content type]" 
           class="com.raritantechnologies.quickstart.userInterface.DynamicContentHandlerFilter" >
      <ContentHandler class="real content handler class" .../>

      <!-- Alternatively, can have a set of choices - the first handler that matches will be used -->
      <UseHandler httpParam="[ name of http param to use for switching]" >

          <!-- Comparator determines if the value of the http param is valid -->
          <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator]" >
              <!-- Configuration parameters for Comparator -->
          </Comparator>

          <!-- The ContentHandler to use if the http parameter value matches the criteria of the comparator -->
          <ContentHandler class="[ class of com.raritantechnologies.quickstart.userInterface.IDocumentContentHandler" >
              <!-- Configuration parameters for ContentHandler -->
          </ContentHandler>
      </UseHandler>

      <!-- Content handlers can also be selected based on user properties -->
      <UseHandler userParam="roleName" >
          <!-- Comparator determines if the value of the user property is valid -->
          <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator]" >
              <!-- Configuration parameters for Comparator -->
          </Comparator>

          <!-- The ContentHandler to use if the http parameter value matches the criteria of the comparator -->
          <ContentHandler class="[ class of com.raritantechnologies.quickstart.userInterface.IDocumentContentHandler" >
              <!-- Configuration parameters for ContentHandler -->
          </ContentHandler>
      </UseHandler>

    </ContentHandler>
  

Developed by Raritan Technologies Inc..

Author:
Ted Sullivan

Nested Class Summary
 class DynamicContentHandlerFilter.UseHandler
           
 
Field Summary
protected  IDocumentContentHandler theHandler
           
 
Constructor Summary
DynamicContentHandlerFilter()
           
 
Method Summary
 java.lang.String getErrorPage(HttpServletRequest pReq)
           
 java.lang.String getHandlerName()
          Returns the name of document handler
 java.lang.String getLastContentType()
           
 java.lang.String getLastDocumentName()
           
 java.util.Map getLastDocumentParamMap()
          Returns a Map of document param=value
 java.util.List getRequestParameters()
          returns the list of parameters needed in the HTTP request.
 void initialize(org.w3c.dom.Element elem)
          Initializes the object from an XML tag or element.
 void sendDocumentContent(ILoginInfo userInfo, HttpServletRequest pReq, HttpServletResponse pRes)
          Sends the document content to the HttpServletResponse using parameters in the HttpServletRequest.
 byte[] sendDocumentContent(java.util.Map handlerInfo)
          Sends the document content to the whatever class calls it using parameters defined in a Map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

theHandler

protected IDocumentContentHandler theHandler
Constructor Detail

DynamicContentHandlerFilter

public DynamicContentHandlerFilter()
Method Detail

sendDocumentContent

public void sendDocumentContent(ILoginInfo userInfo,
                                HttpServletRequest pReq,
                                HttpServletResponse pRes)
                         throws ServletException
Description copied from interface: IDocumentContentHandler
Sends the document content to the HttpServletResponse using parameters in the HttpServletRequest.

Specified by:
sendDocumentContent in interface IDocumentContentHandler
Parameters:
userInfo - User information for this session user. May be used to restrict access to content.
pReq - The HttpServletRequest for the requested content.
pRes - The HttpServletResponse. The content handler will obtain a ServletOutputStream from this object and write the content to this stream.
Throws:
ServletException

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IConfigurable
Initializes the object from an XML tag or element. This method is called by the Framework as part of the application initializtion. see ConfigurationManager, XMLConfigurationManager, XMLSearchFieldMapFactory, XMLSearchSourceFactory. Configurable objects that are owned or contained by other configurable objects will be initialized in by the parent object.

Specified by:
initialize in interface IDocumentContentHandler

getErrorPage

public java.lang.String getErrorPage(HttpServletRequest pReq)
Specified by:
getErrorPage in interface IDocumentContentHandler

getLastDocumentName

public java.lang.String getLastDocumentName()
Specified by:
getLastDocumentName in interface IDocumentContentHandler

getLastDocumentParamMap

public java.util.Map getLastDocumentParamMap()
Description copied from interface: IDocumentContentHandler
Returns a Map of document param=value

Specified by:
getLastDocumentParamMap in interface IDocumentContentHandler

getLastContentType

public java.lang.String getLastContentType()
Specified by:
getLastContentType in interface IDocumentContentHandler

getHandlerName

public java.lang.String getHandlerName()
Description copied from interface: IDocumentContentHandler
Returns the name of document handler

Specified by:
getHandlerName in interface IDocumentContentHandler

getRequestParameters

public java.util.List getRequestParameters()
Description copied from interface: IDocumentContentHandler
returns the list of parameters needed in the HTTP request.

Specified by:
getRequestParameters in interface IDocumentContentHandler

sendDocumentContent

public byte[] sendDocumentContent(java.util.Map handlerInfo)
Description copied from interface: IDocumentContentHandler
Sends the document content to the whatever class calls it using parameters defined in a Map.

Specified by:
sendDocumentContent in interface IDocumentContentHandler
Parameters:
handlerInfo - Information needed by the implementing class to retrieve and send content.