public class EarlyEvaluationContext extends Object implements XPathContext
Constructor and Description |
---|
EarlyEvaluationContext(Configuration config)
Create an early evaluation context, used for evaluating constant expressions at compile time
|
Modifier and Type | Method and Description |
---|---|
Sequence |
evaluateLocalVariable(int slotnumber)
Get the value of a local variable, identified by its slot number
|
XPathContext |
getCaller()
Get the calling XPathContext (the next one down the stack).
|
Configuration |
getConfiguration()
Get the Configuration
|
Item |
getContextItem()
Get the context item
|
Controller |
getController()
Get the Controller.
|
Component |
getCurrentComponent()
Get the current component
|
DateTimeValue |
getCurrentDateTime()
Get the current date and time.
|
XPathException |
getCurrentException()
Get the current exception (in saxon:catch)
|
GroupIterator |
getCurrentGroupIterator()
Get the current group iterator.
|
FocusTrackingIterator |
getCurrentIterator()
Get the current iterator.
|
GroupIterator |
getCurrentMergeGroupIterator()
Get the current merge group iterator.
|
Component<SimpleMode> |
getCurrentMode()
Get the current mode.
|
String |
getCurrentOutputUri()
Get the current output URI
|
RegexIterator |
getCurrentRegexIterator()
Get the current regex iterator.
|
Rule |
getCurrentTemplateRule()
Get the current template.
|
UnfailingErrorListener |
getErrorListener()
Get the error listener.
|
int |
getImplicitTimezone()
Get the implicit timezone, as a positive or negative offset from UTC in minutes.
|
int |
getLast()
Get the context size (the position of the last item in the current node list)
|
ParameterSet |
getLocalParameters()
Get the local (non-tunnel) parameters that were passed to the current function or template
|
NamePool |
getNamePool()
Get the Name Pool
|
InstructionInfo |
getOrigin()
Get information about the creating expression or other construct.
|
int |
getOriginatingConstructType()
Get the type of location from which this context was created.
|
SequenceReceiver |
getReceiver()
Get the Receiver to which output is currently being written.
|
StackFrame |
getStackFrame()
Get a reference to the local stack frame for variables.
|
Component |
getTargetComponent(int bindingSlot)
Bind a component reference to a component.
|
int |
getTemporaryOutputState()
Ask whether the XSLT output state is "temporary" or "final"
|
XPathContextMajor.ThreadManager |
getThreadManager()
Get the thread manager used to process asynchronous xsl:result-document threads.
|
ParameterSet |
getTunnelParameters()
Get the tunnel parameters that were passed to the current function or template.
|
URIResolver |
getURIResolver()
Get the URI resolver.
|
boolean |
isAtLast()
Determine whether the context position is the same as the context size
that is, whether position()=last()
|
Iterator |
iterateStackFrames()
Get the context stack.
|
XPathContextMajor |
newCleanContext()
Construct a new context without copying (used for the context in a function call)
|
XPathContextMajor |
newContext()
Construct a new context as a copy of another.
|
XPathContextMinor |
newMinorContext()
Construct a new minor context.
|
void |
setCaller(XPathContext caller)
Set the calling XPathContext
|
void |
setCurrentIterator(FocusIterator iter)
Set a new sequence iterator.
|
void |
setCurrentOutputUri(String uri)
Set the current output URI
|
void |
setLocalVariable(int slotNumber,
Sequence value)
Set the value of a local variable, identified by its slot number
|
void |
setReceiver(SequenceReceiver receiver)
Change the Receiver to which output is written
|
void |
setTemporaryOutputState(int temporary)
Set the XSLT output state to "temporary" or "final"
|
int |
useLocalParameter(StructuredQName parameterId,
int slotNumber,
boolean isTunnel)
Use local parameter.
|
void |
waitForChildThreads()
Wait for child threads started under the control of this context to finish.
|
public EarlyEvaluationContext(Configuration config)
config
- the Saxon configuration
//@param map the available collationspublic Sequence evaluateLocalVariable(int slotnumber)
evaluateLocalVariable
in interface XPathContext
slotnumber
- the slot number allocated at compile time to the variable,
which identifies its position within the local stack framepublic XPathContext getCaller()
getCaller
in interface XPathContext
public URIResolver getURIResolver()
getURIResolver
in interface XPathContext
public UnfailingErrorListener getErrorListener()
getErrorListener
in interface XPathContext
public Component getCurrentComponent()
getCurrentComponent
in interface XPathContext
public Configuration getConfiguration()
getConfiguration
in interface XPathContext
public Item getContextItem()
getContextItem
in interface XPathContext
public Controller getController()
getController
in interface XPathContext
public GroupIterator getCurrentGroupIterator()
getCurrentGroupIterator
in interface XPathContext
public GroupIterator getCurrentMergeGroupIterator()
getCurrentMergeGroupIterator
in interface XPathContext
public FocusTrackingIterator getCurrentIterator()
getCurrentIterator
in interface XPathContext
public Component<SimpleMode> getCurrentMode()
getCurrentMode
in interface XPathContext
public RegexIterator getCurrentRegexIterator()
getCurrentRegexIterator
in interface XPathContext
public Rule getCurrentTemplateRule()
getCurrentTemplateRule
in interface XPathContext
public int getLast() throws XPathException
getLast
in interface XPathContext
XPathException
- if the context position is undefinedpublic ParameterSet getLocalParameters()
getLocalParameters
in interface XPathContext
public NamePool getNamePool()
getNamePool
in interface XPathContext
public InstructionInfo getOrigin()
public int getOriginatingConstructType()
public SequenceReceiver getReceiver()
getReceiver
in interface XPathContext
public StackFrame getStackFrame()
getStackFrame
in interface XPathContext
public ParameterSet getTunnelParameters()
getTunnelParameters
in interface XPathContext
public boolean isAtLast() throws XPathException
isAtLast
in interface XPathContext
XPathException
public XPathContextMajor newCleanContext()
newCleanContext
in interface XPathContext
public XPathContextMajor newContext()
newContext
in interface XPathContext
public XPathContextMinor newMinorContext()
newMinorContext
in interface XPathContext
public void setCaller(XPathContext caller)
setCaller
in interface XPathContext
caller
- the XPathContext of the calling expressionpublic void setCurrentIterator(FocusIterator iter)
setCurrentIterator
in interface XPathContext
iter
- the current iterator. The context item, position, and size are determined by reference
to the current iterator.public void setLocalVariable(int slotNumber, Sequence value)
setLocalVariable
in interface XPathContext
slotNumber
- the slot number allocated at compile time to the variable,
which identifies its position within the local stack framevalue
- the value of the variablepublic void setReceiver(SequenceReceiver receiver)
setReceiver
in interface XPathContext
receiver
- the SequenceReceiver to be usedpublic int useLocalParameter(StructuredQName parameterId, int slotNumber, boolean isTunnel) throws XPathException
useLocalParameter
in interface XPathContext
parameterId
- slotNumber
- isTunnel
- True if a tunnel parameter is required, else false @return true if a parameter of this name was supplied, false if notXPathException
public DateTimeValue getCurrentDateTime() throws NoDynamicContextException
getCurrentDateTime
in interface XPathContext
NoDynamicContextException
public int getImplicitTimezone()
CalendarValue.NO_TIMEZONE
,
meaning the value is unknown.getImplicitTimezone
in interface XPathContext
public Iterator iterateStackFrames()
ContextStackFrame
, starting with the top-most stackframe and
ending at the point the query or transformation was invoked by a calling application.iterateStackFrames
in interface XPathContext
public XPathException getCurrentException()
getCurrentException
in interface XPathContext
public void waitForChildThreads() throws XPathException
XPathContext
waitForChildThreads
in interface XPathContext
XPathException
- if any of the child threads have failed with a dynamic
error.public void setTemporaryOutputState(int temporary)
XPathContext
setTemporaryOutputState
in interface XPathContext
temporary
- set non-zero to set temporary output state; zero to set final output statepublic int getTemporaryOutputState()
getTemporaryOutputState
in interface XPathContext
public void setCurrentOutputUri(String uri)
setCurrentOutputUri
in interface XPathContext
uri
- the current output URI, or null if in temporary output statepublic String getCurrentOutputUri()
getCurrentOutputUri
in interface XPathContext
public XPathContextMajor.ThreadManager getThreadManager()
getThreadManager
in interface XPathContext
public Component getTargetComponent(int bindingSlot)
XPathContext
getTargetComponent
in interface XPathContext
bindingSlot
- Binding slots are allocated statically to the external component references
in every component: for example, in the case of a template, to all global
variable references, named function calls, and named template calls within
that template. The binding slot therefore identifies the name of the
component that is required; and the selection of an actual component is
done by selection from the binding vector of the component currently being
executedCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.