Jive Forums API (5.5.20.2-oracle) Developer Javadocs

com.jivesoftware.forum.database
Class DbStatusLevelManager

java.lang.Object
  extended by com.jivesoftware.forum.database.DbStatusLevelManager
All Implemented Interfaces:
GroupListener, JivePropertyListener, StatusLevelManager

public class DbStatusLevelManager
extends java.lang.Object
implements StatusLevelManager, GroupListener, JivePropertyListener

StatusLevelManager implementation.


Nested Class Summary
protected static class DbStatusLevelManager.LeaderQueryCache
           
static class DbStatusLevelManager.LeaderQueryCacheKey
          Class to be used as a key for the LeaderQueryCache
static class DbStatusLevelManager.LeaderQueryCacheUpdateTask
           
 
Field Summary
static int BLOCK_SIZE
          How many entries are selected from the database by default
static java.lang.String STATUS_LEVEL_CACHE_TIMEOUT
           
 
Constructor Summary
DbStatusLevelManager()
           
 
Method Summary
 void clearLeaderCache()
          Clears the entire leader query cache.
 StatusLevel createStatusLevel(java.lang.String name, java.lang.String imagePath, Group group)
          Creates a new group based StatusLevel Level
 StatusLevel createStatusLevel(java.lang.String name, java.lang.String imagePath, int minPoints, int maxPoints)
          Creates a new points based StatusLevel.
 void deleteStatusLevel(StatusLevel statusLevel)
          Deletes a statusLevel level from the system
 java.util.Iterator getGroupStatusLevels()
          Returns an iterator of all group based status levels in the system.
 long[] getLeaderBlock(int objectType, long objectID, int startIndex)
           
 java.util.Iterator getLeaders()
          Returns an Iterator of system wide leaders.
 java.util.Iterator getLeaders(Forum forum)
          Returns an Iterator of leaders for a specific forum
 java.util.Iterator getLeaders(ForumCategory category)
          Returns an Iterator of leaders for a specific forum category
 java.util.Iterator getLeaders(ForumCategory category, int startIndex, int numResults)
          Returns an Iterator of leaders for a specific forum category
 java.util.Iterator getLeaders(Forum forum, int startIndex, int numResults)
          Returns an Iterator of leaders for a specific forum
 java.util.Iterator getLeaders(int startIndex, int numResults)
          Returns an Iterator of system wide leaders.
 int getPointLevel(User user)
          Returns the point level for a user system wide.
 int getPointLevel(User user, Forum forum)
          Returns the status level points for a user in regards to a specific forum
 int getPointLevel(User user, ForumCategory category)
          Returns the status level points for a user in regards to a specific category
 java.util.Iterator getPointStatusLevels()
          Returns an iterator of point based status levels in the system sorted by point range.
 StatusLevel getStatusLevel(Group group)
          If there is a status level associated with the group passed in then the status level will be returned, Otherwise null will be returned.
 StatusLevel getStatusLevel(long statusLevelID)
          Used to acquire a specific status level object from the system
 StatusLevel getStatusLevel(java.lang.String name)
          Used to acquire a specific status level by its name
 StatusLevel getStatusLevel(User user)
          Returns the system wide status level for specific user, will return null if there is no status level for this user.
 StatusLevel getStatusLevel(User user, Forum forum)
          Returns the status level for a user in a specific forum. if a status level cannot be determined for this user in this forum null will be returned.
 StatusLevel getStatusLevel(User user, ForumCategory category)
          Returns the status level for a user in a specific category. if a status level cannot be determined for this user in this category null will be returned.
 StatusLevel getStatusLevelByPoints(int pointLevel)
          Used to get a status level by a point value.
 void groupAdministratorAdded(GroupEvent event)
          Fired whenever an administrator is added to a group.
 void groupAdministratorDeleted(GroupEvent event)
          Fired whenever an administrator is deleted from a group.
 void groupCreated(GroupEvent event)
          Fired when a group is created.
 void groupDeleted(GroupEvent event)
          Fired when a group is deleted.
 void groupModified(GroupEvent event)
          Fired whenever a group is modified (properties added, etc)
 void groupUserAdded(GroupEvent event)
          Fired when a user is added to a group.
 void groupUserDeleted(GroupEvent event)
          Fired when a user is deleted from a group.
 boolean isStatusLevelsEnabled()
          Returns true if status levels are enabled in the system
 void jivePropertyAdded(JivePropertyEvent jivePropertyEvent)
          Fired when a jive property is added
 void jivePropertyModified(JivePropertyEvent jivePropertyEvent)
          Fired when a jive property is modified
 void jivePropertyRemoved(JivePropertyEvent jivePropertyEvent)
          Fired when a jive property is removed
 void setStatusLevelsEnabled(boolean statusLevelEnabled)
          Sets whether status levels should be enabled in the system.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STATUS_LEVEL_CACHE_TIMEOUT

public static final java.lang.String STATUS_LEVEL_CACHE_TIMEOUT
See Also:
Constant Field Values

BLOCK_SIZE

public static final int BLOCK_SIZE
How many entries are selected from the database by default

See Also:
Constant Field Values
Constructor Detail

DbStatusLevelManager

public DbStatusLevelManager()
Method Detail

createStatusLevel

public StatusLevel createStatusLevel(java.lang.String name,
                                     java.lang.String imagePath,
                                     int minPoints,
                                     int maxPoints)
                              throws UnauthorizedException,
                                     StatusLevelException,
                                     StatusLevelAlreadyExistsException
Description copied from interface: StatusLevelManager
Creates a new points based StatusLevel. The minPoints and maxPoints range must not intersect, and maxPoints cannot be zero. Specify -1 in either to denote a boundless range (ie minPoints=50, maxPoints=-1 would mean everything over 50 has this status level)

The minPoints and maxPoints values must not go into the range over another StatusLevel levels point range.

Specified by:
createStatusLevel in interface StatusLevelManager
Parameters:
name - name of the status level
minPoints - minimum amount in the point range
maxPoints - maximum amount in the point range
Returns:
The newly created status level object
Throws:
UnauthorizedException - if not system admin
StatusLevelException - if an illegal range is specified.
StatusLevelAlreadyExistsException

createStatusLevel

public StatusLevel createStatusLevel(java.lang.String name,
                                     java.lang.String imagePath,
                                     Group group)
                              throws UnauthorizedException,
                                     StatusLevelException,
                                     StatusLevelAlreadyExistsException
Description copied from interface: StatusLevelManager
Creates a new group based StatusLevel Level

Specified by:
createStatusLevel in interface StatusLevelManager
Parameters:
name - name of the status level
group - group to associate this status level with
Returns:
newly created status level object
Throws:
UnauthorizedException - if not system admin
StatusLevelException
StatusLevelAlreadyExistsException

deleteStatusLevel

public void deleteStatusLevel(StatusLevel statusLevel)
                       throws UnauthorizedException
Description copied from interface: StatusLevelManager
Deletes a statusLevel level from the system

Specified by:
deleteStatusLevel in interface StatusLevelManager
Parameters:
statusLevel - statusLevel level to delete
Throws:
UnauthorizedException - if not system admin

getGroupStatusLevels

public java.util.Iterator getGroupStatusLevels()
Description copied from interface: StatusLevelManager
Returns an iterator of all group based status levels in the system.

Specified by:
getGroupStatusLevels in interface StatusLevelManager
Returns:
an iterator of all group based status levels in the system.

getPointStatusLevels

public java.util.Iterator getPointStatusLevels()
Description copied from interface: StatusLevelManager
Returns an iterator of point based status levels in the system sorted by point range.

Specified by:
getPointStatusLevels in interface StatusLevelManager
Returns:
point range sorted iterator of StatusLevel objects

getPointLevel

public int getPointLevel(User user)
Description copied from interface: StatusLevelManager
Returns the point level for a user system wide.

Specified by:
getPointLevel in interface StatusLevelManager
Parameters:
user - user to get status level points for
Returns:
how many status points the user has

getPointLevel

public int getPointLevel(User user,
                         Forum forum)
Description copied from interface: StatusLevelManager
Returns the status level points for a user in regards to a specific forum

Specified by:
getPointLevel in interface StatusLevelManager
Parameters:
user - user user to get status level points for
forum - forum to filter by
Returns:
how many status level points a user has for the particular forum

getPointLevel

public int getPointLevel(User user,
                         ForumCategory category)
Description copied from interface: StatusLevelManager
Returns the status level points for a user in regards to a specific category

Specified by:
getPointLevel in interface StatusLevelManager
Parameters:
user - user user to get status level points for
category - category to filter by
Returns:
how many status level points a user has for the particular category

clearLeaderCache

public void clearLeaderCache()
Clears the entire leader query cache. If clustering is enabled, the operation occurs across the cluster.


getLeaders

public java.util.Iterator getLeaders()
Description copied from interface: StatusLevelManager
Returns an Iterator of system wide leaders.

Specified by:
getLeaders in interface StatusLevelManager
Returns:
Iterator of User objects for system wide leaders

getLeaders

public java.util.Iterator getLeaders(int startIndex,
                                     int numResults)
Description copied from interface: StatusLevelManager
Returns an Iterator of system wide leaders.

Specified by:
getLeaders in interface StatusLevelManager
Returns:
Iterator of User objects for system wide leaders

getLeaders

public java.util.Iterator getLeaders(Forum forum)
Description copied from interface: StatusLevelManager
Returns an Iterator of leaders for a specific forum

Specified by:
getLeaders in interface StatusLevelManager
Parameters:
forum - forum to find leaders for
Returns:
Iterator of User objects for a specific forum

getLeaders

public java.util.Iterator getLeaders(Forum forum,
                                     int startIndex,
                                     int numResults)
Description copied from interface: StatusLevelManager
Returns an Iterator of leaders for a specific forum

Specified by:
getLeaders in interface StatusLevelManager
Parameters:
forum - forum to find leaders for
Returns:
Iterator of User objects for a specific forum

getLeaders

public java.util.Iterator getLeaders(ForumCategory category)
Description copied from interface: StatusLevelManager
Returns an Iterator of leaders for a specific forum category

Specified by:
getLeaders in interface StatusLevelManager
Parameters:
category - forum category to find leaders for
Returns:
Iterator of User objects for a specific forum

getLeaders

public java.util.Iterator getLeaders(ForumCategory category,
                                     int startIndex,
                                     int numResults)
Description copied from interface: StatusLevelManager
Returns an Iterator of leaders for a specific forum category

Specified by:
getLeaders in interface StatusLevelManager
Parameters:
category - forum category to find leaders for
Returns:
Iterator of User objects for a specific forum

getStatusLevel

public StatusLevel getStatusLevel(long statusLevelID)
                           throws StatusLevelNotFoundException
Description copied from interface: StatusLevelManager
Used to acquire a specific status level object from the system

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
statusLevelID - the id of the object to acquire
Returns:
the object found in the system
Throws:
StatusLevelNotFoundException - thrown if the object does not exist in the system

getStatusLevel

public StatusLevel getStatusLevel(java.lang.String name)
                           throws StatusLevelNotFoundException
Description copied from interface: StatusLevelManager
Used to acquire a specific status level by its name

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
name - name of the status level
Returns:
the object found in the system
Throws:
StatusLevelNotFoundException - thrown if the object does not exist in the system

getStatusLevel

public StatusLevel getStatusLevel(User user)
Description copied from interface: StatusLevelManager
Returns the system wide status level for specific user, will return null if there is no status level for this user.

If the user belongs to a group status level the group status level will always be returned.

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
user - user to find the status level for
Returns:
system wide status level for the user or null if no status level

getStatusLevel

public StatusLevel getStatusLevel(User user,
                                  Forum forum)
Description copied from interface: StatusLevelManager
Returns the status level for a user in a specific forum. if a status level cannot be determined for this user in this forum null will be returned.

If the user belongs to a group status level the group status level will always be returned.

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
user - user to find the status level for
forum - forum to check the status level for
Returns:
forum specific status level or null if no status level can be determined

getStatusLevel

public StatusLevel getStatusLevel(User user,
                                  ForumCategory category)
Description copied from interface: StatusLevelManager
Returns the status level for a user in a specific category. if a status level cannot be determined for this user in this category null will be returned.

If the user belongs to a group status level the group status level will always be returned.

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
user - user to find the status level for
category - category to check the status level for
Returns:
category specific status level or null if no status level can be determined

getStatusLevelByPoints

public StatusLevel getStatusLevelByPoints(int pointLevel)
Description copied from interface: StatusLevelManager
Used to get a status level by a point value. If the points exceeds that of the maximum status level, the maximum status level will be returned.

Specified by:
getStatusLevelByPoints in interface StatusLevelManager
Parameters:
pointLevel - point value find a status level for
Returns:
the StatusLevel matching a point level, or null if non is found

setStatusLevelsEnabled

public void setStatusLevelsEnabled(boolean statusLevelEnabled)
                            throws UnauthorizedException
Description copied from interface: StatusLevelManager
Sets whether status levels should be enabled in the system.

Specified by:
setStatusLevelsEnabled in interface StatusLevelManager
Parameters:
statusLevelEnabled - true if status levels are enabled, else false
Throws:
UnauthorizedException - if not system admin

isStatusLevelsEnabled

public boolean isStatusLevelsEnabled()
Description copied from interface: StatusLevelManager
Returns true if status levels are enabled in the system

Specified by:
isStatusLevelsEnabled in interface StatusLevelManager
Returns:
true if status levels are enabled

getStatusLevel

public StatusLevel getStatusLevel(Group group)
Description copied from interface: StatusLevelManager
If there is a status level associated with the group passed in then the status level will be returned, Otherwise null will be returned.

Specified by:
getStatusLevel in interface StatusLevelManager
Parameters:
group - group to find a status level for
Returns:
status level that is associated with group, else null

getLeaderBlock

public long[] getLeaderBlock(int objectType,
                             long objectID,
                             int startIndex)

groupCreated

public void groupCreated(GroupEvent event)
Description copied from interface: GroupListener
Fired when a group is created.

Specified by:
groupCreated in interface GroupListener
Parameters:
event - the GroupEvent

groupDeleted

public void groupDeleted(GroupEvent event)
Description copied from interface: GroupListener
Fired when a group is deleted.

Specified by:
groupDeleted in interface GroupListener
Parameters:
event - the GroupEvent

groupUserAdded

public void groupUserAdded(GroupEvent event)
Description copied from interface: GroupListener
Fired when a user is added to a group.

Specified by:
groupUserAdded in interface GroupListener
Parameters:
event - the GroupEvent

groupUserDeleted

public void groupUserDeleted(GroupEvent event)
Description copied from interface: GroupListener
Fired when a user is deleted from a group.

Specified by:
groupUserDeleted in interface GroupListener
Parameters:
event - the GroupEvent

groupAdministratorAdded

public void groupAdministratorAdded(GroupEvent event)
Description copied from interface: GroupListener
Fired whenever an administrator is added to a group.

Specified by:
groupAdministratorAdded in interface GroupListener
Parameters:
event - the GroupEvent

groupAdministratorDeleted

public void groupAdministratorDeleted(GroupEvent event)
Description copied from interface: GroupListener
Fired whenever an administrator is deleted from a group.

Specified by:
groupAdministratorDeleted in interface GroupListener
Parameters:
event - the GroupEvent

groupModified

public void groupModified(GroupEvent event)
Description copied from interface: GroupListener
Fired whenever a group is modified (properties added, etc)

Specified by:
groupModified in interface GroupListener
Parameters:
event - the GroupEvent

jivePropertyAdded

public void jivePropertyAdded(JivePropertyEvent jivePropertyEvent)
Description copied from interface: JivePropertyListener
Fired when a jive property is added

Specified by:
jivePropertyAdded in interface JivePropertyListener
Parameters:
jivePropertyEvent - event fired

jivePropertyRemoved

public void jivePropertyRemoved(JivePropertyEvent jivePropertyEvent)
Description copied from interface: JivePropertyListener
Fired when a jive property is removed

Specified by:
jivePropertyRemoved in interface JivePropertyListener
Parameters:
jivePropertyEvent - event fired

jivePropertyModified

public void jivePropertyModified(JivePropertyEvent jivePropertyEvent)
Description copied from interface: JivePropertyListener
Fired when a jive property is modified

Specified by:
jivePropertyModified in interface JivePropertyListener
Parameters:
jivePropertyEvent - event fired

Jive Forums Project Page

Copyright © 1999-2006 Jive Software.