You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2017/05/09 19:15:10 UTC

[09/51] [partial] jspwiki-site git commit: Automatic Site Publish by Buildbot

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.html
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.html b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.html
new file mode 100755
index 0000000..3f51182
--- /dev/null
+++ b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_19) on Fri May 23 21:23:16 CEST 2014 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+GroupDatabase (Apache JSPWiki Main War 2.10.1 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2014-05-23">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="GroupDatabase (Apache JSPWiki Main War 2.10.1 API)";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GroupDatabase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html" title="class in org.apache.wiki.auth.authorize"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/wiki/auth/authorize/GroupDatabase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GroupDatabase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.apache.wiki.auth.authorize</FONT>
+<BR>
+Interface GroupDatabase</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/wiki/auth/authorize/JDBCGroupDatabase.html" title="class in org.apache.wiki.auth.authorize">JDBCGroupDatabase</A>, <A HREF="../../../../../org/apache/wiki/auth/authorize/XMLGroupDatabase.html" title="class in org.apache.wiki.auth.authorize">XMLGroupDatabase</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.32"><B>GroupDatabase</B></A></DL>
+</PRE>
+<map id="APIVIZ" name="APIVIZ">
+<area shape="rect" id="node1" href="GroupDatabase.html" title="&#171;interface&#187; GroupDatabase" alt="" coords="101,5,213,51"/>
+<area shape="rect" id="node2" href="XMLGroupDatabase.html" title="XMLGroupDatabase" alt="" coords="5,90,141,118"/>
+<area shape="rect" id="node3" href="JDBCGroupDatabase.html" title="JDBCGroupDatabase" alt="" coords="171,90,315,118"/>
+</map>
+<div id="apivizContainer" style="text-align: center;"><img src="GroupDatabase.png" usemap="#APIVIZ" border="0"></div>
+
+<P>
+Defines an interface for loading, persisting and storing wiki groups.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.4.22</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>there is no need to call this method because the save and
+ delete methods contain their own commit logic</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#delete(org.apache.wiki.auth.authorize.Group)">delete</A></B>(<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Looks up and deletes a <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><CODE>Group</CODE></A> from the group database.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#groups()">groups</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all wiki groups that are stored in the GroupDatabase as an array
+ of Group objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)">initialize</A></B>(<A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the group database based on values from a Properties object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#save(org.apache.wiki.auth.authorize.Group, java.security.Principal)">save</A></B>(<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group,
+         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;modifier)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves a Group to the group database.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.43"><B>commit</B></A>()
+            throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>there is no need to call this method because the save and
+ delete methods contain their own commit logic</I>
+<P>
+<DD>No-op method that in previous versions of JSPWiki was intended to 
+ atomically commit changes to the user database. Now, the
+ <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#save(org.apache.wiki.auth.authorize.Group, java.security.Principal)"><CODE>save(Group, Principal)</CODE></A> and <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#delete(org.apache.wiki.auth.authorize.Group)"><CODE>delete(Group)</CODE></A> methods
+ are atomic themselves.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - never...</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(org.apache.wiki.auth.authorize.Group)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.55"><B>delete</B></A>(<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)
+            throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Looks up and deletes a <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><CODE>Group</CODE></A> from the group database. If the
+ group database does not contain the supplied Group. this method throws a
+ <A HREF="../../../../../org/apache/wiki/auth/NoSuchPrincipalException.html" title="class in org.apache.wiki.auth"><CODE>NoSuchPrincipalException</CODE></A>. The method commits the results
+ of the delete to persistent storage.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>group</CODE> - the group to remove
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the database does not contain the
+ supplied group (thrown as <A HREF="../../../../../org/apache/wiki/auth/NoSuchPrincipalException.html" title="class in org.apache.wiki.auth"><CODE>NoSuchPrincipalException</CODE></A>) or if
+ the commit did not succeed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="initialize(org.apache.wiki.WikiEngine, java.util.Properties)"><!-- --></A><H3>
+initialize</H3>
+<PRE>
+void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.64"><B>initialize</B></A>(<A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)
+                throws <A HREF="../../../../../org/apache/wiki/api/exceptions/NoRequiredPropertyException.html" title="class in org.apache.wiki.api.exceptions">NoRequiredPropertyException</A>,
+                       <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Initializes the group database based on values from a Properties object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>engine</CODE> - the wiki engine<DD><CODE>props</CODE> - the properties used to initialize the group database
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the database could not be initialized successfully
+<DD><CODE><A HREF="../../../../../org/apache/wiki/api/exceptions/NoRequiredPropertyException.html" title="class in org.apache.wiki.api.exceptions">NoRequiredPropertyException</A></CODE> - if a required property is not present</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="save(org.apache.wiki.auth.authorize.Group, java.security.Principal)"><!-- --></A><H3>
+save</H3>
+<PRE>
+void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.77"><B>save</B></A>(<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group,
+          <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;modifier)
+          throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Saves a Group to the group database. Note that this method <em>must</em>
+ fail, and throw an <code>IllegalArgumentException</code>, if the
+ proposed group is the same name as one of the built-in Roles: e.g.,
+ Admin, Authenticated, etc. The database is responsible for setting
+ create/modify timestamps, upon a successful save, to the Group.
+ The method commits the results of the delete to persistent storage.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>group</CODE> - the Group to save<DD><CODE>modifier</CODE> - the user who saved the Group
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the Group could not be saved successfully</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="groups()"><!-- --></A><H3>
+groups</H3>
+<PRE>
+<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>[] <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupDatabase.html#line.92"><B>groups</B></A>()
+               throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Returns all wiki groups that are stored in the GroupDatabase as an array
+ of Group objects. If the database does not contain any groups, this
+ method will return a zero-length array. This method causes back-end
+ storage to load the entire set of group; thus, it should be called
+ infrequently (e.g., at initialization time). Note that this method should
+ use the protected constructor <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html#Group(java.lang.String, java.lang.String)"><CODE>Group.Group(String, String)</CODE></A> rather
+ than the various "parse" methods (<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#parseGroup(java.lang.String, java.lang.String, boolean)"><CODE>GroupManager.parseGroup(String, String, boolean)</CODE></A>)
+ to construct the group. This is so as not to flood GroupManager's event
+ queue with spurious events.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the wiki groups
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the groups cannot be returned by the back-end</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GroupDatabase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html" title="class in org.apache.wiki.auth.authorize"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/wiki/auth/authorize/GroupDatabase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GroupDatabase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.
+</BODY>
+</HTML>

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.png
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.png b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.png
new file mode 100755
index 0000000..d8f0158
Binary files /dev/null and b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupDatabase.png differ

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.html
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.html b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.html
new file mode 100755
index 0000000..e0a488d
--- /dev/null
+++ b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.html
@@ -0,0 +1,932 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_19) on Fri May 23 21:23:16 CEST 2014 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+GroupManager (Apache JSPWiki Main War 2.10.1 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2014-05-23">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="GroupManager (Apache JSPWiki Main War 2.10.1 API)";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GroupManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/JDBCGroupDatabase.html" title="class in org.apache.wiki.auth.authorize"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/wiki/auth/authorize/GroupManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GroupManager.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.apache.wiki.auth.authorize</FONT>
+<BR>
+Class GroupManager</H2>
+<PRE>
+<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wiki.auth.authorize.GroupManager</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A>, <A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A>, <A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.68"><B>GroupManager</B></A><DT>extends <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A>, <A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A></DL>
+</PRE>
+<map id="APIVIZ" name="APIVIZ">
+<area shape="rect" id="node1" href="../../event/WikiEventListener.html" title="&#171;interface&#187; WikiEventListener (org.apache.wiki.event)" alt="" coords="5,6,160,69"/>
+<area shape="rect" id="node2" href="../Authorizer.html" title="&#171;interface&#187; Authorizer (org.apache.wiki.auth)" alt="" coords="189,6,339,69"/>
+<area shape="rect" id="node3" href="GroupManager.html" title="GroupManager" alt="" coords="120,109,227,137"/>
+</map>
+<div id="apivizContainer" style="text-align: center;"><img src="GroupManager.png" usemap="#APIVIZ" border="0"></div>
+
+<P>
+<p>
+ Facade class for storing, retrieving and managing wiki groups on behalf of
+ AuthorizationManager, JSPs and other presentation-layer classes. GroupManager
+ works in collaboration with a back-end <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize"><CODE>GroupDatabase</CODE></A>, which persists
+ groups to permanent storage.
+ </p>
+ <p>
+ <em>Note: prior to JSPWiki 2.4.19, GroupManager was an interface; it
+ is now a concrete, final class. The aspects of GroupManager which previously
+ extracted group information from storage (e.g., wiki pages) have been
+ refactored into the GroupDatabase interface.</em>
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.4.19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#m_engine">m_engine</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#m_groupListener">m_groupListener</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#MESSAGES_KEY">MESSAGES_KEY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Key used for adding UI messages to a user's WikiSession.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#GroupManager()">GroupManager</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#actionPerformed(org.apache.wiki.event.WikiEvent)">actionPerformed</A></B>(<A HREF="../../../../../org/apache/wiki/event/WikiEvent.html" title="class in org.apache.wiki.event">WikiEvent</A>&nbsp;event)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Listens for <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#PROFILE_NAME_CHANGED"><CODE>WikiSecurityEvent.PROFILE_NAME_CHANGED</CODE></A>
+ events.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#addWikiEventListener(org.apache.wiki.event.WikiEventListener)">addWikiEventListener</A></B>(<A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a WikiEventListener with this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#checkGroupName(org.apache.wiki.WikiContext, java.lang.String)">checkGroupName</A></B>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                             <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if a String is blank or a restricted Group name, and if it is,
+ appends an error to the WikiSession's message list.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#extractMembers(java.lang.String)">extractMembers</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;memberLine)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extracts carriage-return separated members into a Set of String objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#findRole(java.lang.String)">findRole</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Returns a GroupPrincipal matching a given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#fireEvent(int, java.lang.Object)">fireEvent</A></B>(int&nbsp;type,
+                   <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;target)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fires a WikiSecurityEvent of the provided type, Principal and target Object
+  to all registered listeners.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#getGroup(java.lang.String)">getGroup</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Group matching a given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize">GroupDatabase</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#getGroupDatabase()">getGroupDatabase</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current external <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize"><CODE>GroupDatabase</CODE></A> in use.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#getRoles()">getRoles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of GroupPrincipals this GroupManager knows about.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)">initialize</A></B>(<A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the group cache by initializing the group database and
+ obtaining a list of all of the groups it stores.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)">isUserInRole</A></B>(<A HREF="../../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;role)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Determines whether the Subject associated with a WikiSession is in a
+ particular role.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#parseGroup(java.lang.String, java.lang.String, boolean)">parseGroup</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;memberLine,
+                     boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Extracts group name and members from passed parameters and populates an
+ existing Group with them.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#parseGroup(org.apache.wiki.WikiContext, boolean)">parseGroup</A></B>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                     boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Extracts group name and members from the HTTP request and populates an
+ existing Group with them.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#removeGroup(java.lang.String)">removeGroup</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a named Group from the group database.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#removeWikiEventListener(org.apache.wiki.event.WikiEventListener)">removeWikiEventListener</A></B>(<A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Un-registers a WikiEventListener with this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#setGroup(org.apache.wiki.WikiSession, org.apache.wiki.auth.authorize.Group)">setGroup</A></B>(<A HREF="../../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                 <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Saves the <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><CODE>Group</CODE></A> created by a user in a wiki session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#validateGroup(org.apache.wiki.WikiContext, org.apache.wiki.auth.authorize.Group)">validateGroup</A></B>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                           <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validates a Group, and appends any errors to the session errors list.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/
 lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MESSAGES_KEY"><!-- --></A><H3>
+MESSAGES_KEY</H3>
+<PRE>
+public static final <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.71"><B>MESSAGES_KEY</B></A></PRE>
+<DL>
+<DD>Key used for adding UI messages to a user's WikiSession.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.wiki.auth.authorize.GroupManager.MESSAGES_KEY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="m_engine"><!-- --></A><H3>
+m_engine</H3>
+<PRE>
+protected <A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.77"><B>m_engine</B></A></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="m_groupListener"><!-- --></A><H3>
+m_groupListener</H3>
+<PRE>
+protected <A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.79"><B>m_groupListener</B></A></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GroupManager()"><!-- --></A><H3>
+GroupManager</H3>
+<PRE>
+public <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.68"><B>GroupManager</B></A>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="findRole(java.lang.String)"><!-- --></A><H3>
+findRole</H3>
+<PRE>
+public <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.94"><B>findRole</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
+<DL>
+<DD><p>
+ Returns a GroupPrincipal matching a given name. If a group cannot be
+ found, return <code>null</code>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html#findRole(java.lang.String)">findRole</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - Name of the group. This is case-sensitive.
+<DT><B>Returns:</B><DD>A DefaultGroup instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroup(java.lang.String)"><!-- --></A><H3>
+getGroup</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.114"><B>getGroup</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)
+               throws <A HREF="../../../../../org/apache/wiki/auth/NoSuchPrincipalException.html" title="class in org.apache.wiki.auth">NoSuchPrincipalException</A></PRE>
+<DL>
+<DD>Returns the Group matching a given name. If the group cannot be found,
+ this method throws a <code>NoSuchPrincipalException</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the group to find
+<DT><B>Returns:</B><DD>the group
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/NoSuchPrincipalException.html" title="class in org.apache.wiki.auth">NoSuchPrincipalException</A></CODE> - if the group cannot be found</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupDatabase()"><!-- --></A><H3>
+getGroupDatabase</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize">GroupDatabase</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.135"><B>getGroupDatabase</B></A>()
+                               throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Returns the current external <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize"><CODE>GroupDatabase</CODE></A> in use. This method
+ is guaranteed to return a properly-initialized GroupDatabase, unless
+ it could not be initialized. In that case, this method throws
+ a <A HREF="../../../../../org/apache/wiki/api/exceptions/WikiException.html" title="class in org.apache.wiki.api.exceptions"><CODE>WikiException</CODE></A>. The GroupDatabase
+ is lazily initialized.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current GroupDatabase
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the GroupDatabase could
+ not be initialized<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRoles()"><!-- --></A><H3>
+getRoles</H3>
+<PRE>
+public <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[] <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.199"><B>getRoles</B></A>()</PRE>
+<DL>
+<DD>Returns an array of GroupPrincipals this GroupManager knows about. This
+ method will return an array of GroupPrincipal objects corresponding to
+ the wiki groups managed by this class. This method actually returns a
+ defensive copy of an internally stored hashmap.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html#getRoles()">getRoles</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of Principals representing the roles</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="initialize(org.apache.wiki.WikiEngine, java.util.Properties)"><!-- --></A><H3>
+initialize</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.214"><B>initialize</B></A>(<A HREF="../../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                       <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)
+                throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Initializes the group cache by initializing the group database and
+ obtaining a list of all of the groups it stores.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)">initialize</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>engine</CODE> - the wiki engine<DD><CODE>props</CODE> - the properties used to initialize the wiki engine
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if GroupManager cannot be initialized<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)"><CODE>GroupDatabase.initialize(org.apache.wiki.WikiEngine,
+      java.util.Properties)</CODE></A>, 
+<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#groups()"><CODE>GroupDatabase.groups()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)"><!-- --></A><H3>
+isUserInRole</H3>
+<PRE>
+public boolean <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.268"><B>isUserInRole</B></A>(<A HREF="../../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                            <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;role)</PRE>
+<DL>
+<DD><p>
+ Determines whether the Subject associated with a WikiSession is in a
+ particular role. This method takes two parameters: the WikiSession
+ containing the subject and the desired role ( which may be a Role or a
+ Group). If either parameter is <code>null</code>, or if the user is
+ not authenticated, this method returns <code>false</code>.
+ </p>
+ <p>
+ With respect to this implementation, the supplied Principal must be a
+ GroupPrincipal. The Subject posesses the "role" if it the session is
+ authenticated <em>and</em> a Subject's principal is a member of the
+ corresponding Group. This method simply finds the Group in question, then
+ delegates to <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html#isMember(java.security.Principal)"><CODE>Group.isMember(Principal)</CODE></A> for each of the principals
+ in the Subject's principal set.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)">isUserInRole</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the current WikiSession<DD><CODE>role</CODE> - the role to check
+<DT><B>Returns:</B><DD><code>true</code> if the user is considered to be in the role,
+         <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseGroup(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+parseGroup</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.325"><B>parseGroup</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
+                        <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;memberLine,
+                        boolean&nbsp;create)
+                 throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD><p>
+ Extracts group name and members from passed parameters and populates an
+ existing Group with them. The Group will either be a copy of an existing
+ Group (if one can be found), or a new, unregistered Group (if not).
+ Optionally, this method can throw a WikiSecurityException if the Group
+ does not yet exist in the GroupManager cache.
+ </p>
+ <p>
+ The <code>group</code> parameter in the HTTP request contains the Group
+ name to look up and populate. The <code>members</code> parameter
+ contains the member list. If these differ from those in the existing
+ group, the passed values override the old values.
+ </p>
+ <p>
+ This method does not commit the new Group to the GroupManager cache. To
+ do that, use <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#setGroup(org.apache.wiki.WikiSession, org.apache.wiki.auth.authorize.Group)"><CODE>setGroup(WikiSession, Group)</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the group to construct<DD><CODE>memberLine</CODE> - the line of text containing the group membership list<DD><CODE>create</CODE> - whether this method should create a new, empty Group if one
+            with the requested name is not found. If <code>false</code>,
+            groups that do not exist will cause a
+            <code>NoSuchPrincipalException</code> to be thrown
+<DT><B>Returns:</B><DD>a new, populated group
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the group name isn't allowed, or if
+ <code>create</code> is <code>false</code>
+ and the Group named <code>name</code> does not exist<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html#RESTRICTED_GROUPNAMES"><CODE>Group.RESTRICTED_GROUPNAMES</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseGroup(org.apache.wiki.WikiContext, boolean)"><!-- --></A><H3>
+parseGroup</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A> <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.420"><B>parseGroup</B></A>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                        boolean&nbsp;create)
+                 throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD><p>
+ Extracts group name and members from the HTTP request and populates an
+ existing Group with them. The Group will either be a copy of an existing
+ Group (if one can be found), or a new, unregistered Group (if not).
+ Optionally, this method can throw a WikiSecurityException if the Group
+ does not yet exist in the GroupManager cache.
+ </p>
+ <p>
+ The <code>group</code> parameter in the HTTP request contains the Group
+ name to look up and populate. The <code>members</code> parameter
+ contains the member list. If these differ from those in the existing
+ group, the passed values override the old values.
+ </p>
+ <p>
+ This method does not commit the new Group to the GroupManager cache. To
+ do that, use <A HREF="../../../../../org/apache/wiki/auth/authorize/GroupManager.html#setGroup(org.apache.wiki.WikiSession, org.apache.wiki.auth.authorize.Group)"><CODE>setGroup(WikiSession, Group)</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - the current wiki context<DD><CODE>create</CODE> - whether this method should create a new, empty Group if one
+            with the requested name is not found. If <code>false</code>,
+            groups that do not exist will cause a
+            <code>NoSuchPrincipalException</code> to be thrown
+<DT><B>Returns:</B><DD>a new, populated group
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the group name isn't allowed, or if
+ <code>create</code> is <code>false</code>
+ and the Group does not exist</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeGroup(java.lang.String)"><!-- --></A><H3>
+removeGroup</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.453"><B>removeGroup</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;index)
+                 throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Removes a named Group from the group database. If not found, throws a
+ <code>NoSuchPrincipalException</code>. After removal, this method will
+ commit the delete to the back-end group database. It will also fire a
+ <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#GROUP_REMOVE"><CODE>WikiSecurityEvent.GROUP_REMOVE</CODE></A> event with
+ the GroupManager instance as the source and the Group as target.
+ If <code>index</code> is <code>null</code>, this method throws
+ an <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><CODE>IllegalArgumentException</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the group to remove
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the Group cannot be removed by
+ the back-end<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html#delete(org.apache.wiki.auth.authorize.Group)"><CODE>GroupDatabase.delete(Group)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGroup(org.apache.wiki.WikiSession, org.apache.wiki.auth.authorize.Group)"><!-- --></A><H3>
+setGroup</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.516"><B>setGroup</B></A>(<A HREF="../../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                     <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)
+              throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD><p>
+ Saves the <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize"><CODE>Group</CODE></A> created by a user in a wiki session. This method
+ registers the Group with the GroupManager and saves it to the back-end
+ database. If an existing Group with the same name already exists, the new
+ group will overwrite it. After saving the Group, the group database
+ changes are committed.
+ </p>
+ <p>
+ This method fires the following events:
+ </p>
+ <ul>
+ <li><strong>When creating a new Group</strong>, this method fires a
+ <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#GROUP_ADD"><CODE>WikiSecurityEvent.GROUP_ADD</CODE></A> with the
+ GroupManager instance as its source and the new Group as the target.</li>
+ <li><strong>When overwriting an existing Group</strong>, this method
+ fires a new <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#GROUP_REMOVE"><CODE>WikiSecurityEvent.GROUP_REMOVE</CODE></A>
+ with this GroupManager instance as the source, and the new Group as the
+ target. It then fires a
+ <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#GROUP_ADD"><CODE>WikiSecurityEvent.GROUP_ADD</CODE></A> event with the
+ same source and target.</li>
+ </ul>
+ <p>
+ In addition, if the save or commit actions fail, this method will attempt
+ to restore the older version of the wiki group if it exists. This will
+ result in a <code>GROUP_REMOVE</code> event (for the new version of the
+ Group) followed by a <code>GROUP_ADD</code> event (to indicate
+ restoration of the old version).
+ </p>
+ <p>
+ This method will register the new Group with the GroupManager. For example,
+ <A HREF="../../../../../org/apache/wiki/auth/AuthenticationManager.html" title="class in org.apache.wiki.auth"><CODE>AuthenticationManager</CODE></A> attaches each
+ WikiSession as a GroupManager listener. Thus, the act of registering a
+ Group with <code>setGroup</code> means that all WikiSessions will
+ automatically receive group add/change/delete events immediately.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the wiki session, which may not be <code>null</code><DD><CODE>group</CODE> - the Group, which may not be <code>null</code>
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the Group cannot be saved by the back-end</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validateGroup(org.apache.wiki.WikiContext, org.apache.wiki.auth.authorize.Group)"><!-- --></A><H3>
+validateGroup</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.581"><B>validateGroup</B></A>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                          <A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html" title="class in org.apache.wiki.auth.authorize">Group</A>&nbsp;group)</PRE>
+<DL>
+<DD>Validates a Group, and appends any errors to the session errors list. Any
+ validation errors are added to the wiki session's messages collection
+ (see <A HREF="../../../../../org/apache/wiki/WikiSession.html#getMessages()"><CODE>WikiSession.getMessages()</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - the current wiki context<DD><CODE>group</CODE> - the supplied Group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="extractMembers(java.lang.String)"><!-- --></A><H3>
+extractMembers</H3>
+<PRE>
+protected <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.608"><B>extractMembers</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;memberLine)</PRE>
+<DL>
+<DD>Extracts carriage-return separated members into a Set of String objects.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>memberLine</CODE> - the list of members
+<DT><B>Returns:</B><DD>the list of members</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="checkGroupName(org.apache.wiki.WikiContext, java.lang.String)"><!-- --></A><H3>
+checkGroupName</H3>
+<PRE>
+protected void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.635"><B>checkGroupName</B></A>(<A HREF="../../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                              <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)
+                       throws <A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Checks if a String is blank or a restricted Group name, and if it is,
+ appends an error to the WikiSession's message list.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - the wiki context<DD><CODE>name</CODE> - the Group name to test
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if <code>session</code> is
+ <code>null</code> or the Group name is illegal<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/wiki/auth/authorize/Group.html#RESTRICTED_GROUPNAMES"><CODE>Group.RESTRICTED_GROUPNAMES</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addWikiEventListener(org.apache.wiki.event.WikiEventListener)"><!-- --></A><H3>
+addWikiEventListener</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.658"><B>addWikiEventListener</B></A>(<A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</PRE>
+<DL>
+<DD>Registers a WikiEventListener with this instance.
+ This is a convenience method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the event listener</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeWikiEventListener(org.apache.wiki.event.WikiEventListener)"><!-- --></A><H3>
+removeWikiEventListener</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.668"><B>removeWikiEventListener</B></A>(<A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</PRE>
+<DL>
+<DD>Un-registers a WikiEventListener with this instance.
+ This is a convenience method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the event listener</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="fireEvent(int, java.lang.Object)"><!-- --></A><H3>
+fireEvent</H3>
+<PRE>
+protected void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.681"><B>fireEvent</B></A>(int&nbsp;type,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;target)</PRE>
+<DL>
+<DD>Fires a WikiSecurityEvent of the provided type, Principal and target Object
+  to all registered listeners.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - the event type to be fired<DD><CODE>target</CODE> - the changed Object, which may be <code>null</code><DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html" title="class in org.apache.wiki.event"><CODE>WikiSecurityEvent</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="actionPerformed(org.apache.wiki.event.WikiEvent)"><!-- --></A><H3>
+actionPerformed</H3>
+<PRE>
+public void <A HREF="../../../../../src-html/org/apache/wiki/auth/authorize/GroupManager.html#line.697"><B>actionPerformed</B></A>(<A HREF="../../../../../org/apache/wiki/event/WikiEvent.html" title="class in org.apache.wiki.event">WikiEvent</A>&nbsp;event)</PRE>
+<DL>
+<DD>Listens for <A HREF="../../../../../org/apache/wiki/event/WikiSecurityEvent.html#PROFILE_NAME_CHANGED"><CODE>WikiSecurityEvent.PROFILE_NAME_CHANGED</CODE></A>
+ events. If a user profile's name changes, each group is inspected. If an entry contains
+ a name that has changed, it is replaced with the new one. No group events are emitted
+ as a consequence of this method, because the group memberships are still the same; it is
+ only the representations of the names within that are changing.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html#actionPerformed(org.apache.wiki.event.WikiEvent)">actionPerformed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>event</CODE> - the incoming event</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GroupManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/GroupDatabase.html" title="interface in org.apache.wiki.auth.authorize"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/wiki/auth/authorize/JDBCGroupDatabase.html" title="class in org.apache.wiki.auth.authorize"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/wiki/auth/authorize/GroupManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GroupManager.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.
+</BODY>
+</HTML>

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.png
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.png b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.png
new file mode 100755
index 0000000..c3ff59f
Binary files /dev/null and b/content/apidocs/2.10.1/org/apache/wiki/auth/authorize/GroupManager.png differ