Java Doc for LoopTagSupport.java in  » Content-Management-System » apache-lenya-2.0 » org » apache » cocoon » taglib » core » 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 » Content Management System » apache lenya 2.0 » org.apache.cocoon.taglib.core 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


org.apache.cocoon.taglib.VarTagSupport
   org.apache.cocoon.taglib.core.LoopTagSupport

All known Subclasses:   org.apache.cocoon.taglib.core.ForEachSupport,
LoopTagSupport
abstract public class LoopTagSupport extends VarTagSupport implements LoopTag,IterationTag(Code)

Cocoon taglib allows developers to write custom iteration tags by implementing the LoopTag interface. (This is not to be confused with org.apache.cocoon.taglib.IterationTag) LoopTag establishes a mechanism for iteration tags to be recognized and for type-safe communication with custom subtags.

Since most iteration tags will behave identically with respect to actual iterative behavior, however, Cocoon taglib provides this base support class to facilitate implementation. Many iteration tags will extend this and merely implement the hasNext() and next() methods to provide contents for the handler to iterate over.

In particular, this base class provides support for:

  • iteration control, based on protected next() and hasNext() methods
  • subsetting (begin, end, step functionality, including validation of subset parameters for sensibility)
  • item retrieval (getCurrent())
  • status retrieval (LoopTagStatus)
  • exposing attributes (set by 'var' and 'varStatus' attributes)

In providing support for these tasks, LoopTagSupport contains certain control variables that act to modify the iteration. Accessors are provided for these control variables when the variables represent information needed or wanted at translation time (e.g., var, status). For other variables, accessors cannot be provided here since subclasses may differ on their implementations of how those accessors are received. For instance, one subclass might accept a String and convert it into an object of a specific type by using an expression evaluator; others might accept objects directly. Still others might not want to expose such information to outside control.

Migration from JSTL1.0
See Also:   javax.servlet.jsp.jstl.core.LoopTagSupport
author:
   Volker Schmitt
version:
   CVS $Id: LoopTagSupport.java 433543 2006-08-22 06:22:54Z crossley $


Field Summary
protected  intbegin
    
protected  booleanbeginSpecified
     Boolean flag indicating whether 'begin' was specified.
protected  intcount
    
protected  intend
     Ending index ('end' attribute).
protected  booleanendSpecified
     Boolean flag indicating whether 'end' was specified.
protected  intindex
    
protected  booleanlast
    
protected  StringstatusId
    
protected  intstep
    
protected  booleanstepSpecified
     Boolean flag indicating whether 'step' was specified.

Constructor Summary
public  LoopTagSupport()
     Constructs a new LoopTagSupport.

Method Summary
public  intdoAfterBody()
    
public  voiddoCatch(Throwable t)
    
public  voiddoFinally()
    
public  intdoStartTag(String namespaceURI, String localName, String qName, Attributes atts)
    
public  ObjectgetCurrent()
    
public  LoopTagStatusgetIteratorStatus()
    
abstract protected  booleanhasNext()
    

Returns information concerning the availability of more items over which to iterate.

abstract protected  Objectnext()
    

Returns the next object over which the tag should iterate.

abstract protected  voidprepare()
    

Prepares for a single tag invocation.

public  voidrecycle()
    
public  voidsetVarStatus(String statusId)
    
protected  voidvalidateBegin()
    
protected  voidvalidateEnd()
    
protected  voidvalidateStep()
    

Field Detail
begin
protected int begin(Code)
Starting index ('begin' attribute)



beginSpecified
protected boolean beginSpecified(Code)
Boolean flag indicating whether 'begin' was specified.



count
protected int count(Code)



end
protected int end(Code)
Ending index ('end' attribute). -1 internally indicates 'no end specified', although accessors for the core JSTL tags do not allow this value to be supplied directly by the user.



endSpecified
protected boolean endSpecified(Code)
Boolean flag indicating whether 'end' was specified.



index
protected int index(Code)



last
protected boolean last(Code)



statusId
protected String statusId(Code)
Attribute-exposing control



step
protected int step(Code)
Iteration step ('step' attribute)



stepSpecified
protected boolean stepSpecified(Code)
Boolean flag indicating whether 'step' was specified.




Constructor Detail
LoopTagSupport
public LoopTagSupport()(Code)
Constructs a new LoopTagSupport. As with TagSupport, subclasses should not provide other constructors and are expected to call the superclass constructor




Method Detail
doAfterBody
public int doAfterBody() throws SAXException(Code)



doCatch
public void doCatch(Throwable t) throws Throwable(Code)



doFinally
public void doFinally()(Code)



doStartTag
public int doStartTag(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException(Code)



getCurrent
public Object getCurrent()(Code)



getIteratorStatus
public LoopTagStatus getIteratorStatus()(Code)



hasNext
abstract protected boolean hasNext() throws SAXException(Code)

Returns information concerning the availability of more items over which to iterate. This method must be provided by concrete subclasses of LoopTagSupport to assist the iterative logic provided by the supporting base class.

See next for more information about the purpose and expectations behind this tag.

true if there is at least one more item to iterateover, false otherwise
exception:
  org.xml.sax.SAXException -
See Also:   LoopTagSupport.next()



next
abstract protected Object next() throws SAXException(Code)

Returns the next object over which the tag should iterate. This method must be provided by concrete subclasses of LoopTagSupport to inform the base logic about what objects it should iterate over.

It is expected that this method will generally be backed by an Iterator, but this will not always be the case. In particular, if retrieving the next object raises the possibility of an exception being thrown, this method allows that exception to propagate back to the container as a SAXException; a standalone Iterator would not be able to do this. (This explains why LoopTagSupport does not simply call for an Iterator from its subtags.)

the java.lang.Object to use in the next round of iteration
exception:
  org.xml.sax.SAXException - for other, unexpected exceptions



prepare
abstract protected void prepare() throws SAXException(Code)

Prepares for a single tag invocation. Specifically, allows subclasses to prepare for calls to hasNext() and next(). Subclasses can assume that prepare() will be called once for each invocation of doStartTag() in the superclass.


exception:
  org.xml.sax.SAXException -



recycle
public void recycle()(Code)



setVarStatus
public void setVarStatus(String statusId)(Code)



validateBegin
protected void validateBegin() throws SAXException(Code)
Ensures the "begin" property is sensible, throwing an exception expected to propagate up if it isn't



validateEnd
protected void validateEnd() throws SAXException(Code)
Ensures the "end" property is sensible, throwing an exception expected to propagate up if it isn't



validateStep
protected void validateStep() throws SAXException(Code)
Ensures the "step" property is sensible, throwing an exception expected to propagate up if it isn't



Fields inherited from org.apache.cocoon.taglib.VarTagSupport
protected ServiceManager manager(Code)(Java Doc)
protected String var(Code)(Java Doc)

Methods inherited from org.apache.cocoon.taglib.VarTagSupport
final protected Request getRequest()(Code)(Java Doc)
final public String getVar()(Code)(Java Doc)
final protected Object getVariable(String name)(Code)(Java Doc)
public void recycle()(Code)(Java Doc)
final protected void removeVariable(String name)(Code)(Java Doc)
public void service(ServiceManager manager) throws ServiceException(Code)(Java Doc)
final public void setVar(String var)(Code)(Java Doc)
final protected void setVariable(String name, Object value)(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.