org.cdlib.xtf.saxonExt.exec
Class RunElement

Object
  extended by NodeImpl
      extended by ElementImpl
          extended by ElementWithAttributes
              extended by StyleElement
                  extended by ExtensionInstruction
                      extended by RunElement
All Implemented Interfaces:
Source, SourceLocator, LocationProvider, SaxonLocator, Container, FingerprintedNode, Item, NodeInfo, ValueRepresentation, InstructionInfo, Locator
Direct Known Subclasses:
PipeImageElement

public class RunElement
extends ExtensionInstruction

Implements a Saxon instruction that executes an external process and properly formats the result. Provides timeout and error checking.

Author:
Martin Haye

Field Summary
protected  Expression command
           
protected  int sequence
           
protected  int timeoutMsec
           
 
Fields inherited from class StyleElement
defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
 
Fields inherited from class ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class ElementImpl
nameCode, root
 
Fields inherited from class NodeImpl
index, NODE_LETTER, parent
 
Fields inherited from interface NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
 
Fields inherited from interface ValueRepresentation
EMPTY_VALUE_ARRAY
 
Constructor Summary
RunElement()
           
 
Method Summary
 void addChild(NodeImpl arg0, int arg1)
           
 void compact(int arg0)
           
 Expression compile(Executable exec)
           
 AxisIterator enumerateChildren(NodeTest arg0)
           
 List getArgInstructions(Executable exec)
           
 NodeInfo getFirstChild()
           
 NodeInfo getLastChild()
           
protected  NodeImpl getNthChild(int arg0)
           
protected  long getSequenceNumber()
           
 String getStringValue()
           
 CharSequence getStringValueCS()
           
 boolean hasChildNodes()
           
 void prepareAttributes()
           
 void useChildrenArray(NodeImpl[] arg0)
           
 
Methods inherited from class ExtensionInstruction
isInstruction, mayContainFallback, validate
 
Methods inherited from class StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getConstructType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getReturnedItemType, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainSequenceConstructor, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree
 
Methods inherited from class ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarations
 
Methods inherited from class ElementImpl
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemId
 
Methods inherited from class NodeImpl
atomize, compareOrder, equals, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface InstructionInfo
getSystemId
 
Methods inherited from interface Locator
getColumnNumber, getPublicId
 
Methods inherited from interface SourceLocator
getColumnNumber, getPublicId
 

Field Detail

command

protected Expression command

timeoutMsec

protected int timeoutMsec

sequence

protected int sequence
Constructor Detail

RunElement

public RunElement()
Method Detail

prepareAttributes

public void prepareAttributes()
                       throws XPathException
Specified by:
prepareAttributes in class StyleElement
Throws:
XPathException

compile

public Expression compile(Executable exec)
                   throws XPathException
Specified by:
compile in class StyleElement
Throws:
XPathException

getArgInstructions

public List getArgInstructions(Executable exec)
                        throws XPathException
Throws:
XPathException

getSequenceNumber

protected final long getSequenceNumber()
Overrides:
getSequenceNumber in class NodeImpl

hasChildNodes

public final boolean hasChildNodes()
Specified by:
hasChildNodes in interface NodeInfo
Overrides:
hasChildNodes in class NodeImpl

enumerateChildren

public final AxisIterator enumerateChildren(NodeTest arg0)

getFirstChild

public final NodeInfo getFirstChild()
Overrides:
getFirstChild in class NodeImpl

getLastChild

public final NodeInfo getLastChild()
Overrides:
getLastChild in class NodeImpl

getNthChild

protected final NodeImpl getNthChild(int arg0)

getStringValue

public String getStringValue()

getStringValueCS

public CharSequence getStringValueCS()
Specified by:
getStringValueCS in interface Item
Specified by:
getStringValueCS in interface ValueRepresentation
Overrides:
getStringValueCS in class NodeImpl

useChildrenArray

public void useChildrenArray(NodeImpl[] arg0)

addChild

public void addChild(NodeImpl arg0,
                     int arg1)

compact

public void compact(int arg0)