org.apache.xalan.transformer
Class QueuedEvents

java.lang.Object
  extended byorg.apache.xalan.transformer.QueuedEvents
Direct Known Subclasses:
ResultTreeHandler

public abstract class QueuedEvents
extends Object

This class acts as a base for ResultTreeHandler, and keeps queud stack events. In truth, we don't need a stack, so I may change this down the line a bit.


Field Summary
protected  MutableAttrListImpl m_attributes
          The pending attributes.
protected  boolean m_docEnded
           
 boolean m_docPending
          Queued start element
 boolean m_elemIsEnded
          Flag indicating that an event is ended
 boolean m_elemIsPending
          Flag indicating that an event is pending.
protected  int m_eventCount
          The number of events queued
protected  String m_localName
          Local part of qualified name of the element
protected  String m_name
          The pending element, namespace, and local name.
protected  Vector m_namespaces
          Vector of namespaces for this element
protected  boolean m_nsDeclsHaveBeenAdded
          Flag to try and get the xmlns decls to the attribute list before other attributes are added.
private  Serializer m_serializer
          Instance of a serializer
protected  String m_url
          Namespace URL of the element
 
Constructor Summary
QueuedEvents()
           
 
Method Summary
(package private)  Serializer getSerializer()
          This is only for use of object pooling, so the that it can be reset.
(package private)  void popEvent()
          Pop element event
(package private)  void pushDocumentEvent()
          Push the document event.
protected  void reInitEvents()
          To re-initialize the document and element events
 void reset()
          Push document event and re-initialize events
(package private)  void setSerializer(Serializer s)
          This is only for use of object pooling, so that it can be reset.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_eventCount

protected int m_eventCount
The number of events queued


m_docPending

public boolean m_docPending
Queued start element


m_docEnded

protected boolean m_docEnded

m_elemIsPending

public boolean m_elemIsPending
Flag indicating that an event is pending. Public for fast access by ElemForEach.


m_elemIsEnded

public boolean m_elemIsEnded
Flag indicating that an event is ended


m_attributes

protected MutableAttrListImpl m_attributes
The pending attributes. We have to delay the call to m_flistener.startElement(name, atts) because of the xsl:attribute and xsl:copy calls. In other words, the attributes have to be fully collected before you can call startElement.


m_nsDeclsHaveBeenAdded

protected boolean m_nsDeclsHaveBeenAdded
Flag to try and get the xmlns decls to the attribute list before other attributes are added.


m_name

protected String m_name
The pending element, namespace, and local name.


m_url

protected String m_url
Namespace URL of the element


m_localName

protected String m_localName
Local part of qualified name of the element


m_namespaces

protected Vector m_namespaces
Vector of namespaces for this element


m_serializer

private Serializer m_serializer
Instance of a serializer

Constructor Detail

QueuedEvents

public QueuedEvents()
Method Detail

reInitEvents

protected void reInitEvents()
To re-initialize the document and element events


reset

public void reset()
Push document event and re-initialize events


pushDocumentEvent

void pushDocumentEvent()
Push the document event. This never gets popped.


popEvent

void popEvent()
Pop element event


setSerializer

void setSerializer(Serializer s)
This is only for use of object pooling, so that it can be reset.

Parameters:
s - non-null instance of a serializer

getSerializer

Serializer getSerializer()
This is only for use of object pooling, so the that it can be reset.

Returns:
The serializer