Java Doc for ComputedExpression.java in  » XML » XPath-Saxon » net » sf » saxon » expr » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » XML » XPath Saxon » net.sf.saxon.expr 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   net.sf.saxon.expr.ComputedExpression

All known Subclasses:   net.sf.saxon.instruct.SimpleContentConstructor,  net.sf.saxon.instruct.Instruction,  net.sf.saxon.expr.FilterExpression,  net.sf.saxon.expr.ContextItemExpression,  net.sf.saxon.expr.ErrorExpression,  net.sf.saxon.expr.CastAsQName,  net.sf.saxon.expr.TailExpression,  net.sf.saxon.expr.FunctionCall,  net.sf.saxon.expr.BinaryExpression,  net.sf.saxon.sort.SortExpression,  net.sf.saxon.expr.SingleNodeExpression,  net.sf.saxon.expr.VariableReference,  net.sf.saxon.sort.TupleExpression,  net.sf.saxon.expr.IntegerRangeTest,  net.sf.saxon.expr.SuppliedParameterReference,  net.sf.saxon.expr.SimpleMappingExpression,  net.sf.saxon.expr.IfExpression,  net.sf.saxon.expr.Assignation,  net.sf.saxon.expr.PathExpression,  net.sf.saxon.expr.AxisExpression,  net.sf.saxon.expr.UnaryExpression,  net.sf.saxon.expr.IsLastExpression,  net.sf.saxon.instruct.NumberInstruction,  net.sf.saxon.sort.TupleSorter,  net.sf.saxon.expr.PositionRange,  net.sf.saxon.expr.SimpleExpression,
ComputedExpression
abstract public class ComputedExpression implements Serializable,Expression,InstructionInfoProvider,Container(Code)

This class is an abstract superclass for different kinds of expression. This includes XSLT instructions, which are treated just like XPath expressions. Every expression is either a constant Value, or a ComputedExpression.

There are three principal methods for evaluating an expression: iterate(), which an iterator over the result of the expression as a sequence; evaluateItem(), which returns an object that is an instance of net.sf.saxon.om.Item; and process(), which pushes the results of the expression to a Receiver. All three methods take an XPathContext object to supply the evaluation context; for an expression that is a Value, this argument is ignored and may be null. This root class provides an implementation of iterate() in terms of evaluateItem() that works only for singleton expressions, and an implementation of evaluateItem() in terms of iterate() that works only for non-singleton expressions. Subclasses of expression must therefore provide either iterate() or evaluateItem() or process(): they do not have to provide all three.

Note that the methods that take an XPathContext argument are run-time methods. The methods without such an argument are compile-time methods. Run-time methods must not modify the state of the Expression object.



Field Summary
protected  intlocationId
    
protected  intstaticProperties
    


Method Summary
public  voidadoptChildExpression(Expression child)
    
public  voidcheckPermittedContents(SchemaType parentType, StaticContext env, boolean whole)
     Check that any elements and attributes constructed or returned by this expression are acceptable in the content model of a given complex type.
abstract protected  intcomputeCardinality()
    
public  intcomputeDependencies()
     Compute the dependencies of an expression, as the union of the dependencies of its subexpressions.
public  intcomputeSpecialProperties()
    
final public  voidcomputeStaticProperties()
     Compute the static properties.
final public  ExpressiondoPromotion(Expression subexpression, PromotionOffer offer)
    
protected  voiddynamicError(String message, XPathContext context)
    
protected  voiddynamicError(String message, String code, XPathContext context)
    
public  booleaneffectiveBooleanValue(XPathContext context)
     Get the effective boolean value of the expression.
public  StringevaluateAsString(XPathContext context)
     Evaluate an expression as a String.
public  ItemevaluateItem(XPathContext context)
     Evaluate an expression as a single item.
public  intgetCardinality()
     Determine the static cardinality of the expression.
public  intgetColumnNumber()
    
protected  intgetConstructType()
    
public  intgetDependencies()
     Determine which aspects of the context the expression depends on.
public  ExecutablegetExecutable()
    
public  intgetImplementationMethod()
     An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
public  InstructionInfogetInstructionInfo()
    
public  intgetIntrinsicDependencies()
     Determine the intrinsic dependencies of an expression, that is, those which are not derived from the dependencies of its subexpressions.
public  intgetLineNumber()
    
final public  intgetLocationId()
    
public  LocationProvidergetLocationProvider()
     Get the LocationProvider allowing location identifiers to be resolved.
public  ContainergetParentExpression()
     Get the expression that immediately contains this expression.
final public  StringgetPublicId()
    
public  int[]getSlotsUsed()
     Get the local variables (identified by their slot numbers) on which this expression depends.
final public  intgetSpecialProperties()
     Get the static properties of this expression (other than its type).
public  StringgetSystemId()
    
public  booleanhasBadParentPointer()
    
public  SequenceIteratoriterate(XPathContext context)
     Return an Iterator to iterate over the values of a sequence.
public  IteratoriterateSubExpressions()
     Get the immediate sub-expressions of this expression.
public  booleanmarkTailFunctionCalls()
     Mark tail-recursive calls on stylesheet functions.
public  voidprocess(XPathContext context)
    
public  Expressionpromote(PromotionOffer offer)
     Offer promotion for this subexpression.
final public  voidresetStaticProperties()
     Reset the static properties.
public  voidsetLocationId(int id)
     Set the location ID on an expression.
public  voidsetParentExpression(Container parent)
    
public  Expressionsimplify(StaticContext env)
     Simplify an expression.
public  voidsuppressValidation(int validationMode)
     Suppress validation on contained element constructors, on the grounds that the parent element is already performing validation.
protected  voidtypeError(String message, XPathContext context)
    
protected  voidtypeError(String message, String errorCode, XPathContext context)
    

Field Detail
locationId
protected int locationId(Code)



staticProperties
protected int staticProperties(Code)





Method Detail
adoptChildExpression
public void adoptChildExpression(Expression child)(Code)



checkPermittedContents
public void checkPermittedContents(SchemaType parentType, StaticContext env, boolean whole) throws XPathException(Code)
Check that any elements and attributes constructed or returned by this expression are acceptable in the content model of a given complex type. It's always OK to say yes, since the check will be repeated at run-time. The process of checking element and attribute constructors against the content model of a complex type also registers the type of content expected of those constructors, so the static validation can continue recursively.



computeCardinality
abstract protected int computeCardinality()(Code)



computeDependencies
public int computeDependencies()(Code)
Compute the dependencies of an expression, as the union of the dependencies of its subexpressions. (This is overridden for path expressions and filter expressions, where the dependencies of a subexpression are not all propogated). This method should be called only once, to compute the dependencies; after that, getDependencies should be used. the depencies, as a bit-mask



computeSpecialProperties
public int computeSpecialProperties()(Code)



computeStaticProperties
final public void computeStaticProperties()(Code)
Compute the static properties. This should only be done once for each expression.



doPromotion
final public Expression doPromotion(Expression subexpression, PromotionOffer offer) throws XPathException(Code)
Promote a subexpression if possible, and if the expression was changed, carry out housekeeping to reset the static properties and correct the parent pointers in the tree



dynamicError
protected void dynamicError(String message, XPathContext context) throws DynamicError(Code)
Method used in subclasses to signal a dynamic error



dynamicError
protected void dynamicError(String message, String code, XPathContext context) throws DynamicError(Code)
Method used in subclasses to signal a dynamic error



effectiveBooleanValue
public boolean effectiveBooleanValue(XPathContext context) throws XPathException(Code)
Get the effective boolean value of the expression. This returns false if the value is the empty sequence, a zero-length string, a number equal to zero, or the boolean false. Otherwise it returns true.
Parameters:
  context - The context in which the expression is to be evaluated
exception:
  XPathException - if any dynamic error occurs evaluating theexpression the effective boolean value



evaluateAsString
public String evaluateAsString(XPathContext context) throws XPathException(Code)
Evaluate an expression as a String. This function must only be called in contexts where it is known that the expression will return a single string (or where an empty sequence is to be treated as a zero-length string). Implementations should not attempt to convert the result to a string, other than converting () to "". This method is used mainly to evaluate expressions produced by compiling an attribute value template.
exception:
  XPathException - if any dynamic error occurs evaluating theexpression
exception:
  ClassCastException - if the result type of theexpression is not xs:string?
Parameters:
  context - The context in which the expression is to be evaluated the value of the expression, evaluated in the current context.The expression must return a string or (); if the value of theexpression is (), this method returns "".



evaluateItem
public Item evaluateItem(XPathContext context) throws XPathException(Code)
Evaluate an expression as a single item. This always returns either a single Item or null (denoting the empty sequence). No conversion is done. This method should not be used unless the static type of the expression is a subtype of "item" or "item?": that is, it should not be called if the expression may return a sequence. There is no guarantee that this condition will be detected.
Parameters:
  context - The context in which the expression is to be evaluated
exception:
  XPathException - if any dynamic error occurs evaluating theexpression the node or atomic value that results from evaluating theexpression; or null to indicate that the result is an emptysequence



getCardinality
public int getCardinality()(Code)
Determine the static cardinality of the expression. This establishes how many items there will be in the result of the expression, at compile time (i.e., without actually evaluating the result. one of the values Cardinality.ONE_OR_MORE,Cardinality.ZERO_OR_MORE, Cardinality.EXACTLY_ONE,Cardinality.ZERO_OR_ONE, Cardinality.EMPTY. This defaultimplementation returns ZERO_OR_MORE (which effectively gives noinformation).



getColumnNumber
public int getColumnNumber()(Code)
Get the column number of the expression



getConstructType
protected int getConstructType()(Code)
Get the type of this expression for use in tracing and diagnostics the type of expression, as enumerated in class Location



getDependencies
public int getDependencies()(Code)
Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as XPathContext.VARIABLES and XPathContext.CURRENT_NODE. The default implementation combines the intrinsic dependencies of this expression with the dependencies of the subexpressions, computed recursively. This is overridden for expressions such as FilterExpression where a subexpression's dependencies are not necessarily inherited by the parent expression. a set of bit-significant flags identifying the dependencies ofthe expression



getExecutable
public Executable getExecutable()(Code)
Get the executable containing this expression



getImplementationMethod
public int getImplementationMethod()(Code)
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process(). This method indicates which of these methods is prefered.



getInstructionInfo
public InstructionInfo getInstructionInfo()(Code)
Get InstructionInfo for this expression



getIntrinsicDependencies
public int getIntrinsicDependencies()(Code)
Determine the intrinsic dependencies of an expression, that is, those which are not derived from the dependencies of its subexpressions. For example, position() has an intrinsic dependency on the context position, while (position()+1) does not. The default implementation of the method returns 0, indicating "no dependencies". a set of bit-significant flags identifying the "intrinsic"dependencies. The flags are documented in class net.sf.saxon.value.StaticProperty



getLineNumber
public int getLineNumber()(Code)
Get the line number of the expression



getLocationId
final public int getLocationId()(Code)
Get the location ID of the expression



getLocationProvider
public LocationProvider getLocationProvider()(Code)
Get the LocationProvider allowing location identifiers to be resolved.



getParentExpression
public Container getParentExpression()(Code)
Get the expression that immediately contains this expression. This method returns null for an outermost expression; it also return null in the case of literal values. For an XPath expression occurring within an XSLT stylesheet, this method returns the XSLT instruction containing the XPath expression. the expression that contains this expression, if known; return nullif there is no containing expression or if the containing expression is unknown.



getPublicId
final public String getPublicId()(Code)
Get the publicId of the module containing the expression (to satisfy the SourceLocator interface)



getSlotsUsed
public int[] getSlotsUsed()(Code)
Get the local variables (identified by their slot numbers) on which this expression depends. Should only be called if the caller has established that there is a dependency on local variables.



getSpecialProperties
final public int getSpecialProperties()(Code)
Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown. a set of flags indicating static properties of this expression



getSystemId
public String getSystemId()(Code)
Get the systemId of the module containing the expression



hasBadParentPointer
public boolean hasBadParentPointer()(Code)
Diagnostic method: search the tree for an expression whose parent expression is incorrectly set



iterate
public SequenceIterator iterate(XPathContext context) throws XPathException(Code)
Return an Iterator to iterate over the values of a sequence. The value of every expression can be regarded as a sequence, so this method is supported for all expressions. This default implementation handles iteration for expressions that return singleton values: for non-singleton expressions, the subclass must provide its own implementation.
exception:
  XPathException - if any dynamic error occurs evaluating theexpression
Parameters:
  context - supplies the context for evaluation a SequenceIterator that can be used to iterate over the resultof the expression



iterateSubExpressions
public Iterator iterateSubExpressions()(Code)
Get the immediate sub-expressions of this expression. Default implementation returns a zero-length array, appropriate for an expression that has no sub-expressions. an iterator containing the sub-expressions of this expression



markTailFunctionCalls
public boolean markTailFunctionCalls()(Code)
Mark tail-recursive calls on stylesheet functions. For most expressions, this does nothing. true if a tail recursive call was found and if this callaccounts for the whole of the value.



process
public void process(XPathContext context) throws XPathException(Code)
Process the instruction, without returning any tail calls
Parameters:
  context - The dynamic context, giving access to the current node,the current variables, etc.



promote
public Expression promote(PromotionOffer offer) throws XPathException(Code)
Offer promotion for this subexpression. The offer will be accepted if the subexpression is not dependent on the factors (e.g. the context item) identified in the PromotionOffer. By default the offer is not accepted - this is appropriate in the case of simple expressions such as constant values and variable references where promotion would give no performance advantage. This method is always called at compile time.
Parameters:
  offer - details of the offer, for example the offer to moveexpressions that don't depend on the context to an outer level inthe containing expression
exception:
  net.sf.saxon.trans.XPathException - if any error is detected if the offer is not accepted, return this expression unchanged.Otherwise return the result of rewriting the expression to promotethis subexpression



resetStaticProperties
final public void resetStaticProperties()(Code)
Reset the static properties. This should be done whenever the expression is changed in a way that might affect the properties. It causes the properties to be recomputed next time they are needed.



setLocationId
public void setLocationId(int id)(Code)
Set the location ID on an expression.



setParentExpression
public void setParentExpression(Container parent)(Code)



simplify
public Expression simplify(StaticContext env) throws XPathException(Code)
Simplify an expression. This performs any static optimization (by rewriting the expression as a different expression). The default implementation does nothing.
exception:
  XPathException - if an error is discovered during expressionrewriting the simplified expression



suppressValidation
public void suppressValidation(int validationMode)(Code)
Suppress validation on contained element constructors, on the grounds that the parent element is already performing validation. The default implementation does nothing.



typeError
protected void typeError(String message, XPathContext context) throws DynamicError(Code)
Method used in subclasses to signal a runtime type error



typeError
protected void typeError(String message, String errorCode, XPathContext context) throws DynamicError(Code)
Method used in subclasses to signal a runtime type error



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.