net.sf.joost.instruction
Class MessageFactory.Instance

java.lang.Object
  extended by net.sf.joost.instruction.AbstractInstruction
      extended by net.sf.joost.instruction.NodeBase
          extended by net.sf.joost.instruction.MessageFactory.Instance
All Implemented Interfaces:
Cloneable, Constants
Enclosing class:
MessageFactory

public final class MessageFactory.Instance
extends NodeBase

Represents an instance of the message element.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
private  StringBuffer buffer
           
private  StxEmitter emitter
           
private  int level
           
private  org.apache.commons.logging.Log log
           
private  Tree select
           
private  Tree terminate
           
 
Fields inherited from class net.sf.joost.instruction.NodeBase
lastChild, localFieldStack, nodeEnd, parent, preserveSpace, publicId, qName, scopedVariables, systemId
 
Fields inherited from class net.sf.joost.instruction.AbstractInstruction
colNo, lineNo, next
 
Fields inherited from interface net.sf.joost.Constants
DEBUG, DEFAULT_ENCODING, FEAT_NS, FEAT_NSPREFIX, FEATURE_URI_PREFIX, FUNC_NS, JOOST_EXT_NS, PR_ATTRIBUTES, PR_BUFFER, PR_CHILDREN, PR_CONTINUE, PR_ERROR, PR_SELF, PR_SIBLINGS, STX_NS
 
Constructor Summary
protected MessageFactory.Instance(String qName, NodeBase parent, ParseContext context, Tree select, Tree terminate, int level, String logger)
           
 
Method Summary
protected  void onDeepCopy(AbstractInstruction copy, HashMap copies)
          Callback that will be called when a clone of this instance has been created.
 short process(Context context)
          Activate the object Context.messageEmitter for the contents of this element.
 short processEnd(Context context)
          Deactivate the message emitter.
private  void processMessage(Context context)
          Process the message: use the logger if it is available and evaluate the optional 'terminate' attribute
 
Methods inherited from class net.sf.joost.instruction.NodeBase
compile, declareVariable, getNode, getNodeEnd, insert, mayDropEnd, processable, setEndLocation, toString
 
Methods inherited from class net.sf.joost.instruction.AbstractInstruction
deepCopy, deepHashtableCopy, deepTemplateArrayCopy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

select

private Tree select

terminate

private Tree terminate

log

private org.apache.commons.logging.Log log

level

private int level

buffer

private StringBuffer buffer

emitter

private StxEmitter emitter
Constructor Detail

MessageFactory.Instance

protected MessageFactory.Instance(String qName,
                                  NodeBase parent,
                                  ParseContext context,
                                  Tree select,
                                  Tree terminate,
                                  int level,
                                  String logger)
Method Detail

process

public short process(Context context)
              throws SAXException
Activate the object Context.messageEmitter for the contents of this element. If this object is null this method first creates a StreamEmitter object that writes to stderr and saves it in Context.messageEmitter for other stx:message instructions.

Overrides:
process in class NodeBase
Parameters:
context - the current context
Returns:
Constants.PR_CONTINUE
Throws:
SAXException - if an error occurs (in a derived class)

processEnd

public short processEnd(Context context)
                 throws SAXException
Deactivate the message emitter. Called only when there's no select attribute.

Overrides:
processEnd in class NodeBase
Parameters:
context - the current context
Returns:
Constants.PR_CONTINUE
Throws:
SAXException - if an error occurs (in a derived class)

processMessage

private void processMessage(Context context)
                     throws SAXException
Process the message: use the logger if it is available and evaluate the optional 'terminate' attribute

Throws:
SAXException - when the transformation shall terminate

onDeepCopy

protected void onDeepCopy(AbstractInstruction copy,
                          HashMap copies)
Description copied from class: AbstractInstruction
Callback that will be called when a clone of this instance has been created. To be overridden in subclasses.

Overrides:
onDeepCopy in class NodeBase
Parameters:
copy - the created clones
copies - the map of already copied objects