Java Doc for MemoClosure.java in  » XML » XPath-Saxon » 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 » XPath Saxon » 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
         net.sf.saxon.value.MemoClosure

MemoClosure
public class MemoClosure extends Closure (Code)
A MemoClosure 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.

The MemoClosure is designed for use when the value is only read several times. The value is saved on the first evaluation and remembered for later use.

The MemoClosure maintains a reservoir containing those items in the value that have already been read. When a new iterator is requested to read the value, this iterator first examines and returns any items already placed in the reservoir by previous users of the MemoClosure. When the reservoir is exhausted, it then uses an underlying Input Iterator to read further values of the underlying expression. If the value is not read to completion (for example, if the first user did exists($expr), then the Input Iterator is left positioned where this user abandoned it. The next user will read any values left in the reservoir by the first user, and then pick up iterating the base expression where the first user left off. Eventually, all the values of the expression will find their way into the reservoir, and future users simply iterate over the reservoir contents. Alternatively, of course, the values may be left unread.

Delayed evaluation is used only for expressions with a static type that allows more than one item, so the evaluateItem() method will not normally be used, but it is supported for completeness.

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.


Inner Class :final public class ProgressiveIterator implements SequenceIterator,LastPositionFinder,GroundedIterator

Field Summary
final protected static  intEMPTY
    
protected  intstate
    

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

Method Summary
public  intgetLength()
    
public  booleanisFullyRead()
    
public  ItemitemAt(int n)
     Get the n'th item in the sequence (starting from 0).
public  SequenceIteratoriterate(XPathContext context)
     Evaluate the expression in a given context to return an iterator over a sequence
Parameters:
  context - the evaluation context.
public  Valuematerialize()
    
public  voidprocess(XPathContext context)
    

Field Detail
EMPTY
final protected static int EMPTY(Code)



state
protected int state(Code)




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




Method Detail
getLength
public int getLength() throws XPathException(Code)
Get the length of the sequence



isFullyRead
public boolean isFullyRead()(Code)
Determine whether the contents of the MemoClosure have been fully read



itemAt
public Item itemAt(int n) throws XPathException(Code)
Get the n'th item in the sequence (starting from 0). This is defined for all SequenceValues, but its real benefits come for a SequenceValue stored extensionally



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.



materialize
public Value materialize() throws XPathException(Code)
Return a value containing all the items in the sequence returned by this SequenceIterator the corresponding 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.



Fields inherited from net.sf.saxon.value.Closure
protected int depth(Code)(Java Doc)
protected Expression expression(Code)(Java Doc)
protected SequenceIterator inputIterator(Code)(Java Doc)
protected XPathContextMajor savedXPathContext(Code)(Java Doc)

Methods inherited from net.sf.saxon.value.Closure
public void display(int level, NamePool pool, PrintStream out)(Code)(Java Doc)
public int getCardinality()(Code)(Java Doc)
public int getImplementationMethod()(Code)(Java Doc)
public ItemType getItemType(TypeHierarchy th)(Code)(Java Doc)
public int getSpecialProperties()(Code)(Java Doc)
public boolean isIndexable()(Code)(Java Doc)
public SequenceIterator iterate(XPathContext context) throws XPathException(Code)(Java Doc)
public static Value make(Expression expression, XPathContext context, int ref) throws XPathException(Code)(Java Doc)
public static Closure makeIteratorClosure(SequenceIterator iterator)(Code)(Java Doc)
public void process(XPathContext context) throws XPathException(Code)(Java Doc)
public Value reduce() throws XPathException(Code)(Java Doc)

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.