org.scopemvc.view.servlet.xml
Class XSLPage

java.lang.Object
  |
  +--org.scopemvc.view.servlet.Page
        |
        +--org.scopemvc.view.servlet.xml.AbstractXSLPage
              |
              +--org.scopemvc.view.servlet.xml.XSLPage
All Implemented Interfaces:
View

public class XSLPage
extends AbstractXSLPage

A concrete AbstractXSLPage that uses Scope's ModelManager implementations to serialise its entire bound model object to an XML document. A better strategy would be to use a more intelligent view that selectively serialises relevant parts of the model object.

Handles circular references using the "ID" and "IDREF" pattern.

Version:
$Revision: 1.7 $ $Date: 2002/09/05 15:41:45 $
Author:
Steve Meyfroidt

Field Summary
protected  boolean requiresPropertyDescriptions
          Optional setting for whether the SAX convertor should write all the property "paths" out when this view is streamed.
protected  ModelToXML xmlGenerator
          TODO: describe of the Field
 
Fields inherited from class org.scopemvc.view.servlet.xml.AbstractXSLPage
debugXMLDirectory, shouldCacheTemplates, templateCache, xslURI
 
Constructor Summary
XSLPage(java.lang.String inViewID, java.lang.String inXslURI)
           
XSLPage(java.lang.String inViewID, java.lang.String inXslURI, boolean inRequiresModelIds)
           
 
Method Summary
protected  void generateXMLDocument(org.xml.sax.ContentHandler inContentHandler)
          Override to implement model to SAX conversion into the passed ContentHandler.
protected  void init()
          Do it like this so that we can pick up application-specific ScopeConfig...
protected  void populateBoundModelProperty(java.lang.String inPropertyDescription, java.lang.String inValue)
          Use the property_description, property_value pair passed to set a property in the bound model to a new value.
 java.util.List populateModel(java.util.HashMap ioParameters)
           Interprets any form parameters like <PROPERTY_ID_PREFIX>SelectorDescription as [property_description, property_value] pairs
 
Methods inherited from class org.scopemvc.view.servlet.xml.AbstractXSLPage
getContentType, getHTMLOutputProperties, getSystemID, getTransformerHandler, getXMLOutputProperties, getXslURI, makeSerializer, setSystemID, setXslURI, streamView, toString
 
Methods inherited from class org.scopemvc.view.servlet.Page
equalsID, getBoundModel, getController, getID, getParent, issueControl, setBoundModel, setController, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

requiresPropertyDescriptions

protected boolean requiresPropertyDescriptions
Optional setting for whether the SAX convertor should write all the property "paths" out when this view is streamed. Some views might want this if they send back form parameters like {path}=newValue for automatic repopulation back into the bound model object.


xmlGenerator

protected ModelToXML xmlGenerator
TODO: describe of the Field

Constructor Detail

XSLPage

public XSLPage(java.lang.String inViewID,
               java.lang.String inXslURI)
Parameters:
inViewID - unique View ID for routing incoming Controls
inXslURI - the XSLT this View uses to transform its model objects after they convert to XML

XSLPage

public XSLPage(java.lang.String inViewID,
               java.lang.String inXslURI,
               boolean inRequiresModelIds)
Parameters:
inViewID - unique View ID for routing incoming Controls
inXslURI - the XSLT this View uses to transform its model objects after they convert to XML
inRequiresModelIds - Does this view need the SAX convertor to write out property description attributes for properties? For repopulation back into the bound model via populateModel(java.util.HashMap)
Method Detail

populateModel

public java.util.List populateModel(java.util.HashMap ioParameters)

Interprets any form parameters like <PROPERTY_ID_PREFIX>SelectorDescription as [property_description, property_value] pairs

Extracts the property_description from the form parameter key, then populates its model object using the String value. Any parameters treated this way are removed from the HashMap.

Overrides:
populateModel in class Page
Parameters:
ioParameters - form parameters to parse for [property_description, property_value] pairs, removing any processed pairs from the parameters before return
Returns:
PopulateModelFailedException that will be handled as a validation failure.

init

protected void init()
Do it like this so that we can pick up application-specific ScopeConfig... static initializers would happen before user got a chance to setup the custom config properties.


generateXMLDocument

protected void generateXMLDocument(org.xml.sax.ContentHandler inContentHandler)
                            throws java.lang.Exception
Description copied from class: AbstractXSLPage
Override to implement model to SAX conversion into the passed ContentHandler.

Specified by:
generateXMLDocument in class AbstractXSLPage
Parameters:
inContentHandler - Drive this ContentHandler with the Model's SAX events.
Throws:
java.lang.Exception - TODO: Describe the Exception

populateBoundModelProperty

protected void populateBoundModelProperty(java.lang.String inPropertyDescription,
                                          java.lang.String inValue)
                                   throws java.lang.Exception
Use the property_description, property_value pair passed to set a property in the bound model to a new value. Use StringConvertor if available to convert from String to the property's native datatype.

Parameters:
inPropertyDescription - TODO: Describe the Parameter
inValue - TODO: Describe the Parameter
Throws:
java.lang.Exception - on any failure


Copyright © 2000-2002 The Scope Team. All Rights Reserved.