Source Code Cross Referenced for GroupDatabase.java in  » Wiki-Engine » JSPWiki » com » ecyrd » jspwiki » auth » authorize » 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 » Wiki Engine » JSPWiki » com.ecyrd.jspwiki.auth.authorize 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


01:        /*
02:         * JSPWiki - a JSP-based WikiWiki clone. Copyright (C) 2001-2003 Janne Jalkanen
03:         * (Janne.Jalkanen@iki.fi) This program is free software; you can redistribute
04:         * it and/or modify it under the terms of the GNU Lesser General Public License
05:         * as published by the Free Software Foundation; either version 2.1 of the
06:         * License, or (at your option) any later version. This program is distributed
07:         * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
08:         * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
09:         * See the GNU Lesser General Public License for more details. You should have
10:         * received a copy of the GNU Lesser General Public License along with this
11:         * program; if not, write to the Free Software Foundation, Inc., 59 Temple
12:         * Place, Suite 330, Boston, MA 02111-1307 USA
13:         */
14:        package com.ecyrd.jspwiki.auth.authorize;
15:
16:        import java.security.Principal;
17:        import java.util.Properties;
18:
19:        import com.ecyrd.jspwiki.NoRequiredPropertyException;
20:        import com.ecyrd.jspwiki.WikiEngine;
21:        import com.ecyrd.jspwiki.auth.NoSuchPrincipalException;
22:        import com.ecyrd.jspwiki.auth.WikiSecurityException;
23:
24:        /**
25:         * Defines an interface for loading, persisting and storing wiki groups.
26:         * @author Andrew Jaquith
27:         * @since 2.4.22
28:         */
29:        public interface GroupDatabase {
30:            /**
31:             * No-op method that in previous versions of JSPWiki was intended to 
32:             * atomically commit changes to the user database. Now, the
33:             * {@link #save(Group, Principal)} and {@link #delete(Group)} methods
34:             * are atomic themselves.
35:             * @throws WikiSecurityException never...
36:             * @deprecated there is no need to call this method because the save and
37:             * delete methods contain their own commit logic
38:             */
39:            public void commit() throws WikiSecurityException;
40:
41:            /**
42:             * Looks up and deletes a {@link Group} from the group database. If the
43:             * group database does not contain the supplied Group. this method throws a
44:             * {@link NoSuchPrincipalException}. The method commits the results
45:             * of the delete to persistent storage.
46:             * @param group the group to remove
47:             * @throws WikiSecurityException if the database does not contain the
48:             * supplied group (thrown as {@link NoSuchPrincipalException}) or if
49:             * the commit did not succeed
50:             */
51:            public void delete(Group group) throws WikiSecurityException;
52:
53:            /**
54:             * Initializes the group database based on values from a Properties object.
55:             * @param engine the wiki engine
56:             * @param props the properties used to initialize the group database
57:             * @throws WikiSecurityException if the database could not be initialized successfully
58:             * @throws NoRequiredPropertyException if a required property is not present
59:             */
60:            public void initialize(WikiEngine engine, Properties props)
61:                    throws NoRequiredPropertyException, WikiSecurityException;
62:
63:            /**
64:             * Saves a Group to the group database. Note that this method <em>must</em>
65:             * fail, and throw an <code>IllegalArgumentException</code>, if the
66:             * proposed group is the same name as one of the built-in Roles: e.g.,
67:             * Admin, Authenticated, etc. The database is responsible for setting
68:             * create/modify timestamps, upon a successful save, to the Group.
69:             * The method commits the results of the delete to persistent storage.
70:             * @param group the Group to save
71:             * @param modifier the user who saved the Group
72:             * @throws WikiSecurityException if the Group could not be saved successfully
73:             */
74:            public void save(Group group, Principal modifier)
75:                    throws WikiSecurityException;
76:
77:            /**
78:             * Returns all wiki groups that are stored in the GroupDatabase as an array
79:             * of Group objects. If the database does not contain any groups, this
80:             * method will return a zero-length array. This method causes back-end
81:             * storage to load the entire set of group; thus, it should be called
82:             * infrequently (e.g., at initialization time). Note that this method should
83:             * use the protected constructor {@link Group#Group(String, String)} rather
84:             * than the various "parse" methods ({@link GroupManager#parseGroup(String, String, boolean)})
85:             * to construct the group. This is so as not to flood GroupManager's event
86:             * queue with spurious events.
87:             * @return the wiki groups
88:             * @throws WikiSecurityException if the groups cannot be returned by the back-end
89:             */
90:            public Group[] groups() throws WikiSecurityException;
91:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.