//# 0 errors, 90 messages
//#
/*
    //#UserManager.java:1:1: class: org.apache.roller.weblogger.business.UserManager
    //#UserManager.java:1:1: method: org.apache.roller.weblogger.business.UserManager.org.apache.roller.weblogger.business.UserManager__static_init
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.business;

import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.pojos.WeblogTemplate;
import org.apache.roller.weblogger.pojos.WeblogPermission;
import org.apache.roller.weblogger.pojos.User;
import org.apache.roller.weblogger.pojos.Weblog;


/**
 * Manages users, weblogs, permissions, and weblog pages.
 */
public interface UserManager {
    
    /**
     * Add a new user.
     * 
     * This method is used to provide supplemental data to new user accounts,
     * such as adding the proper roles for the user.  This method should see
     * if the new user is the first user and give that user the admin role if so.
     *
     * @param newUser User object to be added.
     * @throws WebloggerException If there is a problem.
     */
    public void addUser(User newUser) throws WebloggerException;
    
    
    /**
     * Save a user.
     *
     * @param user User to be saved.
     * @throws WebloggerException If there is a problem.
     */
    public void saveUser(User user) throws WebloggerException;
    
    
    /**
     * Remove a user.
     *
     * @param user User to be removed.
     * @throws WebloggerException If there is a problem.
     */
    public void removeUser(User user) throws WebloggerException;
    
    
    /**
     * Lookup a user by ID.
     * 
     * @param id ID of user to lookup.
     * @returns UsUserhe user, or null if not found.
     * @throws WebloggerException If there is a problem.
     */
    public User getUser(String id) throws WebloggerException;
    
    
    /**
     * Lookup a user by UserName.
     * 
     * This lookup is restricted to 'enabled' users by default.  So this method
     * should return null if the user is found but is not enabled.
     * 
     * @param userName User Name of user to lookup.
     * @returns UsUserhe user, or null if not found or is disabled.
     * @throws WebloggerException If there is a problem.
     */
    public User getUserByUserName(String userName) throws WebloggerException;
    
    
    /**
     * Lookup a user by UserName with the given enabled status.
     * 
     * @param userName User Name of user to lookup.
     * @returns UsUserhe user, or null if not found or doesn't match 
     *   the proper enabled status.
     * @throws WebloggerException If there is a problem.
     */
    public User getUserByUserName(String userName, Boolean enabled)
        throws WebloggerException;
    
    
    /**
     * Lookup a group of users.
     * 
     * The lookup may be constrained to users with a certain enabled status,
     * to users created within a certain date range, and the results can be
     * confined to a certain offset & length for paging abilities.
     * 
     * @param weblog Confine results to users with permission to a certain weblog.
     * @param enabled True for enabled only, False for disabled only (or null for all)
     * @param startDate Restrict to those created after startDate (or null for all)
     * @param endDate Restrict to those created before startDate (or null for all)
     * @param offset The index of the first result to return.
     * @param length The number of results to return.
     * @returns List A list of UserDatUsers which match the criteria.
     * @throws WebloggerException If there is a problem.
     */
    public List getUsers(
            Weblog weblog,
            Boolean enabled,
            Date    startDate,
            Date    endDate,
            int     offset,
            int     length) throws WebloggerException;
    
    
    /**
     * Lookup users whose usernames or email addresses start with a string.
     *
     * @param startsWith String to match userNames and emailAddresses against
     * @param offset     Offset into results (for paging)
     * @param length     Max to return (for paging)
     * @param enabled    True for only enalbed, false for disabled, null for all
     * @return List of (up to length) users that match startsWith string
     */
    public List getUsersStartingWith(String startsWith,
            Boolean enabled, int offset, int length) throws WebloggerException;
    
    
    /**
     * Get map with 26 entries, one for each letter A-Z and
     * containing integers reflecting the number of users whose
     * names start with each letter.
     */
    public Map getUserNameLetterMap() throws WebloggerException;
    
    
    /** 
     * Get collection of users whose names begin with specified letter 
     */
    public List getUsersByLetter(char letter, int offset, int length) 
        throws WebloggerException;
    
    
    /**
     * Add new website, give creator admin permission, creates blogroll,
     * creates categories and other objects required for new website.
     * @param newWebsite New website to be created, must have creator.
     */
    public void addWebsite(Weblog newWebsite) throws WebloggerException;
    
    
    /**
     * Store a single weblog.
     */
    public void saveWebsite(Weblog data) throws WebloggerException;
    
    
    /**
     * Remove website object.
     */
    public void removeWebsite(Weblog website) throws WebloggerException;
    
    
    /**
     * Get website object by name.
     */
    public Weblog getWebsite(String id) throws WebloggerException;
    
    
    /**
     * Get website specified by handle (or null if enabled website not found).
     * @param handle  Handle of website
     */
    public Weblog getWebsiteByHandle(String handle) throws WebloggerException;
    
    
    /**
     * Get website specified by handle with option to return only enabled websites.
     * @param handle  Handle of website
     */
    public Weblog getWebsiteByHandle(String handle, Boolean enabled)
        throws WebloggerException;
    
    
    /**
     * Get websites optionally restricted by user, enabled and active status.
     * @param user    Get all websites for this user (or null for all)
     * @param offset  Offset into results (for paging)
     * @param len     Maximum number of results to return (for paging)
     * @param enabled Get all with this enabled state (or null or all)
     * @param active  Get all with this active state (or null or all)
     * @param startDate Restrict to those created after (or null for all)
     * @param endDate Restrict to those created before (or null for all)
     * @returns List of WebsiteData objects.
     */
    public List getWebsites(
            User user,
            Boolean  enabled,
            Boolean  active,
            Date     startDate,
            Date     endDate,
            int      offset,
            int      length)
            throws WebloggerException;
    
    
    /**
     * Get websites ordered by descending number of comments.
     * @param startDate Restrict to those created after (or null for all)
     * @param endDate Restrict to those created before (or null for all)
     * @param offset    Offset into results (for paging)
     * @param len       Maximum number of results to return (for paging)
     * @returns List of WebsiteData objects.
     */
    public List getMostCommentedWebsites(
            Date startDate,
            Date endDate,
            int  offset,
            int  length)
            throws WebloggerException;
    
    
    /**
     * Get map with 26 entries, one for each letter A-Z and
     * containing integers reflecting the number of weblogs whose
     * names start with each letter.
     */
    public Map getWeblogHandleLetterMap() throws WebloggerException;
    
    
    /** 
     * Get collection of weblogs whose handles begin with specified letter 
     */
    public List getWeblogsByLetter(char letter, int offset, int length) 
        throws WebloggerException;
    
    
    /**
     * Save permissions object.
     */
    public void savePermissions(WeblogPermission perms) throws WebloggerException;
    
    
    /**
     * Remove permissions object.
     */
    public void removePermissions(WeblogPermission perms) throws WebloggerException;
    
    
    /**
     * Get permissions object by id.
     */
    public WeblogPermission getPermissions(String id) throws WebloggerException;
    
    
    /**
     * Get pending permissions for user.
     * @param user User (not null)
     * @returns List of PermissionsData objects.
     */
    public List getPendingPermissions(User user) throws WebloggerException;
    
    
    /**
     * Get pending permissions for website.
     * @param website Website (not null)
     * @returns List of PermissionsData objects.
     */
    public List getPendingPermissions(Weblog user) throws WebloggerException;
    
    
    /**
     * Get permissions of user in website.
     * @param website Website (not null)
     * @param user    User (not null)
     * @return        PermissionsData object
     */
    public WeblogPermission getPermissions(Weblog website, User user)
        throws WebloggerException;
    
    
    /**
     * Get all permissions in website
     * @param website Website (not null)
     * @return        PermissionsData object
     */
    public List getAllPermissions(Weblog website) throws WebloggerException;
    
    
    /**
     * Get all permissions of user
     * @param user User (not null)
     * @return     PermissionsData object
     */
    public List getAllPermissions(User user) throws WebloggerException;
    
    
    /**
     * Invite user to join a website with specific permissions
     * @param website Website to be joined (persistent instance)
     * @param user    User to be invited (persistent instance)
     * @param perms   Permissions mask (see statics in PermissionsData)
     * @return        New PermissionsData object, with pending=true
     */
    public WeblogPermission inviteUser(Weblog website, User user, short perms)
        throws WebloggerException;
    
    
    /**
     * Retire user from a website
     * @param website Website to be retired from (persistent instance)
     * @param user    User to be retired (persistent instance)
     */
    public void retireUser(Weblog website, User user)
        throws WebloggerException;
    
    
    /**
     * Revoke role of user
     * @param roleName Name of the role to be revoked
     * @param user    User for whom the role is to be revoked
     */
    public void revokeRole(String roleName, User user)
        throws WebloggerException;

    /**
     * Store page.
     */
    public void savePage(WeblogTemplate data) throws WebloggerException;
    
    
    /**
     * Remove page.
     */
    public void removePage(WeblogTemplate page) throws WebloggerException;
    
    
    /**
     * Get page by id.
     */
    public WeblogTemplate getPage(String id) throws WebloggerException;
    
    
    /**
     * Get user's page by action.
     */
    public WeblogTemplate getPageByAction(Weblog w, String a) throws WebloggerException;
    
    
    /**
     * Get user's page by name.
     */
    public WeblogTemplate getPageByName(Weblog w, String p) throws WebloggerException;
    
    
    /**
     * Get website's page by link.
     */
    public WeblogTemplate getPageByLink(Weblog w, String p)
        throws WebloggerException;
    
    
    /**
     * Get website's pages
     */
    public List getPages(Weblog w) throws WebloggerException;
   
    
    /**
     * Get count of active weblogs
     */    
    public long getWeblogCount() throws WebloggerException;

    
    /**
     * Get count of enabled users
     */    
    public long getUserCount() throws WebloggerException; 
    
    
    /**
     * Release any resources held by manager.
     */
    public void release();
    
    
    /**
     * get a user by activation code
     * @param activationCode
     * @return
     * @throws WebloggerException
     */
    public User getUserByActivationCode(String activationCode) throws WebloggerException;
    
    /**
     * get a user by password request code
     * @param passwordRequestCode
     * @return
     * @throws WebloggerException
     */
    //public User getUserByPasswordRequestCode(String passwordRequestCode) throws WebloggerException;


}
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.addUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.addWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getAllPermissions(Lorg/apache/roller/weblogger/pojos/User;)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getAllPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getMostCommentedWebsites(Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPage(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByName(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPages(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPendingPermissions(Lorg/apache/roller/weblogger/pojos/User;)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPendingPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPermissions(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogPermission;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;)Lorg/apache/roller/weblogger/pojos/WeblogPermission;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUser(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByActivationCode(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByUserName(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByUserName(Ljava/lang/String;Ljava/lang/Boolean;)Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserCount()J
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserNameLetterMap()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsers(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/Boolean;Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsersByLetter(CII)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsersStartingWith(Ljava/lang/String;Ljava/lang/Boolean;II)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogCount()J
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogHandleLetterMap()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogsByLetter(CII)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsite(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsiteByHandle(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsiteByHandle(Ljava/lang/String;Ljava/lang/Boolean;)Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsites(Lorg/apache/roller/weblogger/pojos/User;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.inviteUser(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;S)Lorg/apache/roller/weblogger/pojos/WeblogPermission;
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.release()V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removePage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removePermissions(Lorg/apache/roller/weblogger/pojos/WeblogPermission;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removeUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removeWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.retireUser(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.revokeRole(Ljava/lang/String;Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.savePage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.savePermissions(Lorg/apache/roller/weblogger/pojos/WeblogPermission;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.saveUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.saveWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Descendant_Table[org/apache/roller/weblogger/business/UserManager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.addUser(Lorg/apache/roller/weblogger/pojos/User;)V == &addUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.addWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V == &addWebsite
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getAllPermissions(Lorg/apache/roller/weblogger/pojos/User;)Ljava/util/List; == &getAllPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getAllPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List; == &getAllPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getMostCommentedWebsites(Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List; == &getMostCommentedWebsites
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPage(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate; == &getPage
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate; == &getPageByAction
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate; == &getPageByLink
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPageByName(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate; == &getPageByName
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPages(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List; == &getPages
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPendingPermissions(Lorg/apache/roller/weblogger/pojos/User;)Ljava/util/List; == &getPendingPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPendingPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List; == &getPendingPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPermissions(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogPermission; == &getPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getPermissions(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;)Lorg/apache/roller/weblogger/pojos/WeblogPermission; == &getPermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUser(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User; == &getUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByActivationCode(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User; == &getUserByActivationCode
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByUserName(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/User; == &getUserByUserName
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserByUserName(Ljava/lang/String;Ljava/lang/Boolean;)Lorg/apache/roller/weblogger/pojos/User; == &getUserByUserName
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserCount()J == &getUserCount
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUserNameLetterMap()Ljava/util/Map; == &getUserNameLetterMap
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsers(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/Boolean;Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List; == &getUsers
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsersByLetter(CII)Ljava/util/List; == &getUsersByLetter
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getUsersStartingWith(Ljava/lang/String;Ljava/lang/Boolean;II)Ljava/util/List; == &getUsersStartingWith
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogCount()J == &getWeblogCount
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogHandleLetterMap()Ljava/util/Map; == &getWeblogHandleLetterMap
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWeblogsByLetter(CII)Ljava/util/List; == &getWeblogsByLetter
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsite(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/Weblog; == &getWebsite
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsiteByHandle(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/Weblog; == &getWebsiteByHandle
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsiteByHandle(Ljava/lang/String;Ljava/lang/Boolean;)Lorg/apache/roller/weblogger/pojos/Weblog; == &getWebsiteByHandle
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.getWebsites(Lorg/apache/roller/weblogger/pojos/User;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/Date;Ljava/util/Date;II)Ljava/util/List; == &getWebsites
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.inviteUser(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;S)Lorg/apache/roller/weblogger/pojos/WeblogPermission; == &inviteUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.release()V == &release
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removePage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V == &removePage
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removePermissions(Lorg/apache/roller/weblogger/pojos/WeblogPermission;)V == &removePermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removeUser(Lorg/apache/roller/weblogger/pojos/User;)V == &removeUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.removeWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V == &removeWebsite
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.retireUser(Lorg/apache/roller/weblogger/pojos/Weblog;Lorg/apache/roller/weblogger/pojos/User;)V == &retireUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.revokeRole(Ljava/lang/String;Lorg/apache/roller/weblogger/pojos/User;)V == &revokeRole
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.savePage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V == &savePage
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.savePermissions(Lorg/apache/roller/weblogger/pojos/WeblogPermission;)V == &savePermissions
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.saveUser(Lorg/apache/roller/weblogger/pojos/User;)V == &saveUser
    //#post(org.apache.roller.weblogger.business.UserManager__static_init): __Dispatch_Table.saveWebsite(Lorg/apache/roller/weblogger/pojos/Weblog;)V == &saveWebsite
    //#UserManager.java:: end of method: org.apache.roller.weblogger.business.UserManager.org.apache.roller.weblogger.business.UserManager__static_init
    //#UserManager.java:: end of class: org.apache.roller.weblogger.business.UserManager
