org.oddjob.arooa.handlers
Class SerializedComponentHandler

java.lang.Object
  extended byorg.oddjob.arooa.ArooaHandler
      extended byorg.oddjob.arooa.handlers.SerializedComponentHandler

public class SerializedComponentHandler
extends ArooaHandler

This handler attempts to load components as serialised objects from the file system. If the component has an id, this handler will check the file system, otherwise it delegates to a delegate handler to handle the component.

Once the component has been created, runtime attributes and child elements are set as normal.

See Also:
ArooaHandler
Author:
Rob Gordon

Constructor Summary
SerializedComponentHandler(ArooaHandler delegate, ComponentRestorer componentRestorer)
          Constructor.
 
Method Summary
 void characters(char[] buf, int start, int count, ArooaContext context)
          Adds text to the component, using the wrapper
 void onEndChild(java.lang.String uri, java.lang.String tag, java.lang.String qname, ArooaContext context)
          Handle the end of a child.
 void onEndElement(java.lang.String uri, java.lang.String tag, ArooaContext context)
          Handles the end of the element.
 ArooaHandler onStartChild(java.lang.String uri, java.lang.String tag, java.lang.String qname, org.xml.sax.Attributes attrs, ArooaContext context)
          Handle a child tag.
 void onStartElement(java.lang.String uri, java.lang.String tag, java.lang.String qname, org.xml.sax.Attributes attrs, ArooaContext context)
          Handles the start of an element.
 
Methods inherited from class org.oddjob.arooa.ArooaHandler
checkNamespace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializedComponentHandler

public SerializedComponentHandler(ArooaHandler delegate,
                                  ComponentRestorer componentRestorer)
Constructor.

Method Detail

onStartElement

public void onStartElement(java.lang.String uri,
                           java.lang.String tag,
                           java.lang.String qname,
                           org.xml.sax.Attributes attrs,
                           ArooaContext context)
                    throws org.xml.sax.SAXParseException
Handles the start of an element.

Overrides:
onStartElement in class ArooaHandler
Parameters:
uri - the namespace URI for the tag
tag - The name of the element being started. Will not be null.
qname - The qualified name of the element.
attrs - Attributes of the element being started. Will not be null.
context - The context that this element is in.
Throws:
org.xml.sax.SAXParseException - if this method is not overridden, or in case of error in an overridden version

characters

public void characters(char[] buf,
                       int start,
                       int count,
                       ArooaContext context)
                throws org.xml.sax.SAXParseException
Adds text to the component, using the wrapper

Overrides:
characters in class ArooaHandler
Parameters:
buf - A character array of the text within the element. Will not be null.
start - The start element in the array.
count - The number of characters to read from the array.
context - The current context.
Throws:
org.xml.sax.SAXParseException - if the element doesn't support text

onStartChild

public ArooaHandler onStartChild(java.lang.String uri,
                                 java.lang.String tag,
                                 java.lang.String qname,
                                 org.xml.sax.Attributes attrs,
                                 ArooaContext context)
                          throws org.xml.sax.SAXParseException
Handle a child tag.

Overrides:
onStartChild in class ArooaHandler
Parameters:
uri - The namespace uri.
qname - The element qualified name.
attrs - The attributes of the element.
context - The current context.
tag - The name of the element being started. Will not be null.
Returns:
The handler that handles this subelement.
Throws:
org.xml.sax.SAXParseException - if the qualified name is not "project".

onEndChild

public void onEndChild(java.lang.String uri,
                       java.lang.String tag,
                       java.lang.String qname,
                       ArooaContext context)
                throws org.xml.sax.SAXParseException
Handle the end of a child.

Overrides:
onEndChild in class ArooaHandler
Parameters:
uri - the namespace uri of the element
tag - the tag of the element
qname - the qualified name of the element
context - the current context
Throws:
org.xml.sax.SAXParseException - if an error occurs

onEndElement

public void onEndElement(java.lang.String uri,
                         java.lang.String tag,
                         ArooaContext context)
Handles the end of the element.

Overrides:
onEndElement in class ArooaHandler
Parameters:
uri - The namespace URI for the element.
tag - The name of the element.
context - The current context.