edu.northwestern.at.wordhoard.swing.calculator.modelutils
Class UserDataObjectUtils

java.lang.Object
  extended by edu.northwestern.at.wordhoard.swing.calculator.modelutils.UserDataObjectUtils

public class UserDataObjectUtils
extends java.lang.Object

User data object utilities.

Class has package scope.


Constructor Summary
protected UserDataObjectUtils()
          Don't allow instantiation but do allow overrides.
 
Method Summary
static java.lang.Long createUserDataObject(UserDataObject userDataObject)
          Create a user data object.
static boolean deleteUserDataObject(java.lang.Class udoClass, java.lang.String title)
          Delete a user data object by title.
static boolean deleteUserDataObject(UserDataObject userDataObject)
          Delete a user data object.
static boolean deleteUserDataObjects(UserDataObject[] userDataObjects)
          Delete multiple user data objects.
protected static java.lang.String getObjectClassName(java.lang.Class udoClass)
          Get Hibernate object name.
static UserDataObject getUserDataObject(java.lang.Class udoClass, java.lang.String title)
          Get a user data object by title.
static UserDataObject getUserDataObject(java.lang.Class udoClass, java.lang.String title, java.lang.String owner)
          Get a user data object by title.
static UserDataObject getUserDataObject(java.lang.Class udoClass, java.lang.String title, java.lang.String owner, java.lang.String[] qNames, java.lang.Object[] qValues)
          Get a user data object by title.
static UserDataObject[] getUserDataObjects(java.lang.Class udoClass)
          Get all available public user data objects as an array.
static UserDataObject[] getUserDataObjects(java.lang.Class udoClass, java.lang.String owner)
          Get all available user data objects for a specified owner as an array.
static UserDataObject[] getUserDataObjects(java.lang.Class udoClass, java.lang.String[] qNames, java.lang.Object[] qValues)
          Get all available public user data objects as an array.
static UserDataObject[] getUserDataObjects(java.lang.Class udoClass, java.lang.String owner, boolean onlyLoggedInUser)
          Get all available user data objects for specified owner as an array.
static UserDataObject[] getUserDataObjects(java.lang.Class udoClass, java.lang.String title, java.lang.String owner, boolean loggedInUserOnly, java.lang.String[] qNames, java.lang.Object[] qValues)
          Get user data objects.
static int getUserDataObjectsCount(java.lang.Class udoClass)
          Get count of all available public user data objects.
static int getUserDataObjectsCount(java.lang.Class udoClass, boolean loggedInUserOnly)
          Get count of user data objects for a user.
static int getUserDataObjectsCount(java.lang.Class udoClass, java.lang.String owner)
          Get count of user data objects for specified user.
static int getUserDataObjectsCount(java.lang.Class udoClass, java.lang.String owner, boolean onlyLoggedInUser)
          Get count of user data objects for a user.
static UserDataObject[] getUserDataObjectsForLoggedInUser(java.lang.Class udoClass)
          Get all available user data objects for logged in user.
static boolean isDuplicate(java.lang.Class udoClass, java.lang.String title, java.lang.String owner, java.lang.Long id)
          Check for a duplicate user data object.
static boolean updateUserDataObject(UserDataObject userDataObject, UserDataObjectUpdater userDataObjectUpdater)
          Update a user data object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UserDataObjectUtils

protected UserDataObjectUtils()
Don't allow instantiation but do allow overrides.

Method Detail

getObjectClassName

protected static java.lang.String getObjectClassName(java.lang.Class udoClass)
Get Hibernate object name.

Parameters:
udoClass - The class for the user data object.
Returns:
The corresponding Hibernate object name.

isDuplicate

public static boolean isDuplicate(java.lang.Class udoClass,
                                  java.lang.String title,
                                  java.lang.String owner,
                                  java.lang.Long id)
Check for a duplicate user data object.

Parameters:
udoClass - The object's class.
title - The object's title.
owner - The object's owner.
id - The object's ID.
Returns:
true if an object of the class "udoClass" with the specified title and owner already exists, and has an object ID different from the specified ID.

deleteUserDataObject

public static boolean deleteUserDataObject(UserDataObject userDataObject)
Delete a user data object.

Parameters:
userDataObject - The user data object to delete.
Returns:
true if object deleted, false otherwise.

The currently logged in user must be the owner to delete a user data object.


deleteUserDataObject

public static boolean deleteUserDataObject(java.lang.Class udoClass,
                                           java.lang.String title)
Delete a user data object by title.

Parameters:
udoClass - The user data object class.
title - The title of the user data object to delete.
Returns:
true if user data object deleted, else false. If the user data object didn't exist, true is returned.

deleteUserDataObjects

public static boolean deleteUserDataObjects(UserDataObject[] userDataObjects)
Delete multiple user data objects.

Parameters:
userDataObjects - The user data objects to delete.
Returns:
true if user data objects deleted, false otherwise.

getUserDataObjects

public static UserDataObject[] getUserDataObjects(java.lang.Class udoClass,
                                                  java.lang.String title,
                                                  java.lang.String owner,
                                                  boolean loggedInUserOnly,
                                                  java.lang.String[] qNames,
                                                  java.lang.Object[] qValues)
Get user data objects.

Parameters:
udoClass - Class of user data object to return.
owner - The owner for the user data object to fetch.
loggedInUserOnly - Fetch objects only for the logged-in user.
title - Title of the user data object to fetch.
qNames - Extra query names.
qValues - Extra query values.
Returns:
The user data object(s) matching the given attributes. There should be only one if a title is provided. May be null or empty if no objects are available matching the selected criteria.

If the owner is not the same as the currently logged in user, the user data objects will only be returned if they are public.


getUserDataObject

public static UserDataObject getUserDataObject(java.lang.Class udoClass,
                                               java.lang.String title,
                                               java.lang.String owner,
                                               java.lang.String[] qNames,
                                               java.lang.Object[] qValues)
Get a user data object by title.

Parameters:
udoClass - Class of user data object to return.
owner - The owner for the user data object to fetch.
title - The title of the user data object to fetch.
qNames - Extra query names.
qValues - Extra query values.
Returns:
The user data object with the requested title, or null if not found.

If the owner is not the same as the currently logged in user, the user data object will only be returned if it is public.


getUserDataObject

public static UserDataObject getUserDataObject(java.lang.Class udoClass,
                                               java.lang.String title,
                                               java.lang.String owner)
Get a user data object by title.

Parameters:
udoClass - Class of user data object to return.
owner - The owner for the user data object to fetch.
title - The title of the user data object to fetch.
Returns:
The user data object with the requested title, or null if not found.

If the owner is not the same as the currently logged in user, the user data object will only be returned if it is public.


getUserDataObject

public static UserDataObject getUserDataObject(java.lang.Class udoClass,
                                               java.lang.String title)
Get a user data object by title.

Parameters:
udoClass - Class of user data object to return.
title - The title of the user data object to fetch.
Returns:
The user data object with the requested title, or null if not found.

Only public user data objects are returned.


getUserDataObjects

public static UserDataObject[] getUserDataObjects(java.lang.Class udoClass,
                                                  java.lang.String[] qNames,
                                                  java.lang.Object[] qValues)
Get all available public user data objects as an array.

Parameters:
udoClass - The name of the user data object type.
Returns:
All available public user data objects as array.

If the user is logged in, any private user data objects belonging to the logged in user are also returned.


getUserDataObjects

public static UserDataObject[] getUserDataObjects(java.lang.Class udoClass)
Get all available public user data objects as an array.

Parameters:
udoClass - The name of the user data object type.
Returns:
All available public user data objects as array.

If the user is logged in, any private user data objects belonging to the logged in user are also returned.


getUserDataObjects

public static UserDataObject[] getUserDataObjects(java.lang.Class udoClass,
                                                  java.lang.String owner,
                                                  boolean onlyLoggedInUser)
Get all available user data objects for specified owner as an array.

Parameters:
udoClass - Name of the user data object type.
owner - Owner for the user data objects to fetch.
onlyLoggedInUser - True to get only private objects.
Returns:
All available objects as array.

getUserDataObjects

public static UserDataObject[] getUserDataObjects(java.lang.Class udoClass,
                                                  java.lang.String owner)
Get all available user data objects for a specified owner as an array.

Parameters:
udoClass - The name of the user data object type.
owner - The owner.
Returns:
All available objects as array of UserDataObject.

getUserDataObjectsForLoggedInUser

public static UserDataObject[] getUserDataObjectsForLoggedInUser(java.lang.Class udoClass)
Get all available user data objects for logged in user.

Parameters:
udoClass - The name of the user data object type.
Returns:
All available objects for logged in user as array of UserDataObject.

getUserDataObjectsCount

public static int getUserDataObjectsCount(java.lang.Class udoClass,
                                          java.lang.String owner,
                                          boolean onlyLoggedInUser)
Get count of user data objects for a user.

Parameters:
udoClass - The name of the user data object type.
owner - The owner.
onlyLoggedInUser - True to count only private objects.
Returns:
Count of user data objects owned by "owner".

getUserDataObjectsCount

public static int getUserDataObjectsCount(java.lang.Class udoClass,
                                          java.lang.String owner)
Get count of user data objects for specified user.

Parameters:
udoClass - The name of the user data object type.
owner - The owner.
Returns:
Count of user data objects owned by "owner".

getUserDataObjectsCount

public static int getUserDataObjectsCount(java.lang.Class udoClass,
                                          boolean loggedInUserOnly)
Get count of user data objects for a user.

Parameters:
udoClass - The name of the user data object type.
loggedInUserOnly - Fetch objects only for the logged-in user.
Returns:
Count of user data objects.

getUserDataObjectsCount

public static int getUserDataObjectsCount(java.lang.Class udoClass)
Get count of all available public user data objects.

Parameters:
udoClass - The name of the user data object type.
Returns:
Count of all available public user data objects.

If the user is logged in, any private user data objects belonging to the logged in user are also counted.


createUserDataObject

public static java.lang.Long createUserDataObject(UserDataObject userDataObject)
                                           throws BadOwnerException
Create a user data object.

Parameters:
userDataObject - The user data object to create. user data object.
Returns:
Object of created object. -1 if creation fails.
Throws:
BadOwnerException - if user is not logged in.

updateUserDataObject

public static boolean updateUserDataObject(UserDataObject userDataObject,
                                           UserDataObjectUpdater userDataObjectUpdater)
                                    throws BadOwnerException
Update a user data object.

Parameters:
userDataObject - The user data object to update.
userDataObjectUpdater - Method which updates fields of user data object.
Returns:
true if update succeeds, false otherwise.
Throws:
BadOwnerException - if user is not logged in or is not the owner of the user data object.