Source Code Cross Referenced for Initiator.java in  » Ajax » zk » org » zkoss » zk » ui » util » 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 » Ajax » zk » org.zkoss.zk.ui.util 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /* Initiator.java
002:
003:        {{IS_NOTE
004:        	Purpose:
005:        		
006:        	Description:
007:        		
008:        	History:
009:        		Thu Aug  4 12:09:19     2005, Created by tomyeh
010:        }}IS_NOTE
011:
012:        Copyright (C) 2005 Potix Corporation. All Rights Reserved.
013:
014:        {{IS_RIGHT
015:        	This program is distributed under GPL Version 2.0 in the hope that
016:        	it will be useful, but WITHOUT ANY WARRANTY.
017:        }}IS_RIGHT
018:         */
019:        package org.zkoss.zk.ui.util;
020:
021:        import org.zkoss.zk.ui.Page;
022:        import org.zkoss.zk.ui.UiException;
023:
024:        /**
025:         * Implemented by an initiator that will be invoked if it is specified
026:         * in the init directive.
027:         *
028:         * <p>&lt;?init class="MyInit"?&gt;
029:         *
030:         * <p>Once specified, an instance is created and {@link #doInit} is called
031:         * before the page is evaluated. Then, {@link #doAfterCompose} is called
032:         * after all components are created, and before any event is processed.
033:         * In additions, {@link #doFinally} is called
034:         * after the page has been evaluated. If an exception occurs, {@link #doCatch}
035:         * is called.
036:         *
037:         * <p>A typical usage: starting a transaction in doInit, rolling back it
038:         * in {@link #doCatch} and commit it in {@link #doFinally}
039:         * (if {@link #doCatch} is not called).
040:         *
041:         * @author tomyeh
042:         * @see InitiatorExt
043:         */
044:        public interface Initiator {
045:            /** Does the initializes before the page is evaluated.
046:             *
047:             * <p>Note: when it is called, {@link Page#getDesktop},
048:             * {@link Page#getId} and {@link Page#getTitle} all return null, since
049:             * the page is not initialized yet.
050:             * To get the current desktop, you have to use
051:             * {@link org.zkoss.zk.ui.Execution#getDesktop} (from 
052:             * {@link org.zkoss.zk.ui.Executions#getCurrent}) instead.
053:             * On the other hand, you can set the page's ID, title or style in
054:             * this method (to override the declarations in the page definition)
055:             * by {@link org.zkoss.zk.ui.Page#setId}, {@link Page#setTitle} and {@link Page#setStyle}.
056:             * In additions, {@link Page#getRequestPath}
057:             * and {@link Page#getAttribute} are all available.
058:             *
059:             * @param page the page being evaluated
060:             * @param args an array of arguments passed with
061:             * the arg0, arg1, arg2 and arg3 attributes (of the init directive).
062:             * If no argument is specified, args is an array with zero length.
063:             */
064:            public void doInit(Page page, Object[] args) throws Exception;
065:
066:            /** Called after all components are created (aka., composed),
067:             * and before any event is processed.
068:             *
069:             * <p>Note: if {@link InitiatorExt} is also implemented,
070:             * this method won't be called. Rather, {@link InitiatorExt#doAfterCompose}
071:             * will be called instead.
072:             *
073:             * <p>For example, the data-binding managers could process the binding
074:             * at this callback.
075:             *
076:             * <p>It won't be called if an un-caught exception occurs when creating
077:             * components.
078:             *
079:             * @param page the page that new components are attached to. It is the same
080:             * as {@link #doInit}'s page argument.
081:             */
082:            public void doAfterCompose(Page page) throws Exception;
083:
084:            /** Called when an exception occurs during the evaluation of the page.
085:             *
086:             * <p>If you don't want to handle the exception, simply returns false.
087:             * <code>boolean doCatch(Throwable ex) {return false;}</code>
088:             *
089:             * <p>An exception thrown in this method is simply logged. It has no
090:             * effect on the execution.
091:             * If you want to ignore the exception, just return true.
092:             *
093:             * <p>Notice: this method won't be called if the exception occurs
094:             * in {@link #doInit}.
095:             *
096:             * @param ex the exception being thrown
097:             * @return whether to ignore the exception. If false is returned,
098:             * the exception will be re-thrown.
099:             * Note: once an initiator's doCatch returns true, the exception will be
100:             * ignored and it means doCatch of the following initiators won't be called.
101:             * Prior to ZK 3.0.0, void is returned and it means always re-thrown
102:             */
103:            public boolean doCatch(Throwable ex) throws Exception;
104:
105:            /** Do the cleanup after the page has been evaluated.
106:             * It won't be called if {@link #doInit} throws an exception.
107:             * However,it is always called no matter whether {@link #doCatch} is called.
108:             *
109:             * <p>An exception thrown in this method is simply logged. It has no
110:             * effect on the execution.
111:             */
112:            public void doFinally() throws Exception;
113:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.