Java Doc for Closure.java in  » XML » saxonb » net » sf » saxon » value » 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 » saxonb » net.sf.saxon.value 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   net.sf.saxon.value.Value
      net.sf.saxon.value.Closure

All known Subclasses:   net.sf.saxon.value.MemoClosure,
Closure
public class Closure extends Value (Code)
A Closure represents a value that has not yet been evaluated: the value is represented by an expression, together with saved values of all the context variables that the expression depends on.

This Closure is designed for use when the value is only read once. If the value is read more than once, a new iterator over the underlying expression is obtained each time: this may (for example in the case of a filter expression) involve significant re-calculation.

The expression may depend on local variables and on the context item; these values are held in the saved XPathContext object that is kept as part of the Closure, and they will always be read from that object. The expression may also depend on global variables; these are unchanging, so they can be read from the Bindery in the normal way. Expressions that depend on other contextual information, for example the values of position(), last(), current(), current-group(), should not be evaluated using this mechanism: they should always be evaluated eagerly. This means that the Closure does not need to keep a copy of these context variables.



Field Summary
protected  intdepth
    
protected  Expressionexpression
    
protected  SequenceIteratorinputIterator
    
protected  XPathContextMajorsavedXPathContext
    

Constructor Summary
public  Closure()
     Constructor should not be called directly, instances should be made using the make() method.

Method Summary
public  voiddisplay(int level, NamePool pool, PrintStream out)
    
public  intgetCardinality()
    
public  intgetImplementationMethod()
     An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process(). This method indicates which of these methods is provided.
public  ItemTypegetItemType(TypeHierarchy th)
    
public  intgetSpecialProperties()
     Get the static properties of this expression (other than its type).
public  booleanisIndexable()
    
public  SequenceIteratoriterate(XPathContext context)
     Evaluate the expression in a given context to return an iterator over a sequence
Parameters:
  context - the evaluation context.
public static  Valuemake(Expression expression, XPathContext context, int ref)
     Construct a Closure by supplying the expression and the set of context variables.
public static  ClosuremakeIteratorClosure(SequenceIterator iterator)
     Construct a Closure over an existing SequenceIterator.
public  voidprocess(XPathContext context)
    
public  Valuereduce()
     Reduce a value to its simplest form.

Field Detail
depth
protected int depth(Code)



expression
protected Expression expression(Code)



inputIterator
protected SequenceIterator inputIterator(Code)



savedXPathContext
protected XPathContextMajor savedXPathContext(Code)




Constructor Detail
Closure
public Closure()(Code)
Constructor should not be called directly, instances should be made using the make() method.




Method Detail
display
public void display(int level, NamePool pool, PrintStream out)(Code)



getCardinality
public int getCardinality()(Code)
Get the cardinality



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 provided. This implementation provides both iterate() and process() methods natively.



getItemType
public ItemType getItemType(TypeHierarchy th)(Code)
Get the static item type
Parameters:
  th -



getSpecialProperties
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.



isIndexable
public boolean isIndexable()(Code)
Determine whether this Closure is indexable



iterate
public SequenceIterator iterate(XPathContext context) throws XPathException(Code)
Evaluate the expression in a given context to return an iterator over a sequence
Parameters:
  context - the evaluation context. This is ignored; we use the context savedas part of the Closure instead.



make
public static Value make(Expression expression, XPathContext context, int ref) throws XPathException(Code)
Construct a Closure by supplying the expression and the set of context variables.



makeIteratorClosure
public static Closure makeIteratorClosure(SequenceIterator iterator)(Code)
Construct a Closure over an existing SequenceIterator. This is used when an extension function returns a SequenceIterator as its result (it replaces the old SequenceIntent class for this purpose). There is no known expression in this case. Note that the caller must ensure this is a "clean" iterator: it must be positioned at the start, and must not be shared by anyone else.



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.



reduce
public Value reduce() throws XPathException(Code)
Reduce a value to its simplest form. If the value is a closure or some other form of deferred value such as a FunctionCallPackage, then it is reduced to a SequenceExtent. If it is a SequenceExtent containing a single item, then it is reduced to that item. One consequence that is exploited by class FilterExpression is that if the value is a singleton numeric value, then the result will be an instance of NumericValue



Fields inherited from net.sf.saxon.value.Value
final public static Class[] EMPTY_CLASS_ARRAY(Code)(Java Doc)

Methods inherited from net.sf.saxon.value.Value
public static Item asItem(ValueRepresentation value, XPathContext context) throws XPathException(Code)(Java Doc)
public static SequenceIterator asIterator(ValueRepresentation val, XPathContext context) throws XPathException(Code)(Java Doc)
public static Value asValue(ValueRepresentation val)(Code)(Java Doc)
public void checkPermittedContents(SchemaType parentType, StaticContext env, boolean whole) throws XPathException(Code)(Java Doc)
public static CharSequence collapseWhitespace(CharSequence in)(Code)(Java Doc)
public static Object convert(Item item) throws XPathException(Code)(Java Doc)
public static Value convertJavaObjectToXPath(Object object, SequenceType requiredType, Configuration config) throws XPathException(Code)(Java Doc)
public Object convertToJava(Class target, XPathContext context) throws XPathException(Code)(Java Doc)
public void display(int level, NamePool pool, PrintStream out)(Code)(Java Doc)
public boolean effectiveBooleanValue(XPathContext context) throws XPathException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
public String evaluateAsString(XPathContext context) throws XPathException(Code)(Java Doc)
public Item evaluateItem(XPathContext context) throws XPathException(Code)(Java Doc)
public int getCardinality()(Code)(Java Doc)
final public int getDependencies()(Code)(Java Doc)
public ItemType getItemType(TypeHierarchy th)(Code)(Java Doc)
public static SequenceIterator getIterator(ValueRepresentation val) throws XPathException(Code)(Java Doc)
public int getLength() throws XPathException(Code)(Java Doc)
final public Container getParentExpression()(Code)(Java Doc)
public int getSpecialProperties()(Code)(Java Doc)
public String getStringValue() throws XPathException(Code)(Java Doc)
public int hashCode()(Code)(Java Doc)
public Item itemAt(int n) throws XPathException(Code)(Java Doc)
final public Iterator iterateSubExpressions()(Code)(Java Doc)
public static QNameValue makeQNameValue(Object object, Configuration config)(Code)(Java Doc)
public static CharSequence normalizeWhitespace(CharSequence in)(Code)(Java Doc)
final public Expression optimize(Optimizer opt, StaticContext env, ItemType contextItemType)(Code)(Java Doc)
public void process(XPathContext context) throws XPathException(Code)(Java Doc)
final public Expression promote(PromotionOffer offer)(Code)(Java Doc)
public Value reduce() throws XPathException(Code)(Java Doc)
public boolean schemaEquals(Value obj)(Code)(Java Doc)
final public Expression simplify(StaticContext env)(Code)(Java Doc)
public static double stringToNumber(CharSequence s) throws NumberFormatException(Code)(Java Doc)
public String toString()(Code)(Java Doc)
public static CharSequence trimWhitespace(CharSequence in)(Code)(Java Doc)
final public Expression typeCheck(StaticContext env, ItemType contextItemType)(Code)(Java Doc)

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.