com.bea.wli.calendar.api
Interface BusinessCalendar

All Superinterfaces:
EJBObject, Remote

public interface BusinessCalendar
extends EJBObject


Method Summary
 Date addBusinessTime(String interval, CalendarDocument cDoc)
           
 Date addBusinessTime(String interval, CalendarDocument cDoc, Date startTime)
           
 Date addBusinessTime(String interval, CalendarDocument cDoc, Date startTime, String clientTz)
           
 Date addBusinessTime(String interval, String userOrGroupId)
          Use startTime as current time.
 Date addBusinessTime(String interval, String userOrGroupId, Date startTime)
          Determines if userOrGroupId is a user id or group id.
 Date addBusinessTime(String interval, String userOrGroupId, Date startTime, String clientTz)
          Looks up the calendar using the appropriate "walk hierarchy" method.
 Date addBusinessTimeCalendarName(String interval, String calendarName)
           
 Date addBusinessTimeCalendarName(String interval, String calendarName, Date startTime)
           
 Date addBusinessTimeCalendarName(String interval, String calendarName, Date startTime, String clientTz)
           
 Date addBusinessTimeSystemCalendar(String interval, Date startTime)
           
 Date addBusinessTimeSystemCalendar(String interval, Date startTime, String clientTz)
           
 Date addExactTimeCalendarName(String interval, String calendarName, Date startTime)
           
 Date addExactTimeCalendarName(String interval, String calendarName, Date startTime, String clientTz)
           
 boolean calendarNameExists(String name)
          Checks if a calendar with the given name exists.
 void createCalendar(CalendarDocument cDoc)
          Creates a new calendar from the information passed in the CalendarDocument.
 void deleteCalendar(String calendarName)
          Delete the named calendar.
 void deleteCalendars(String[] names)
          Delete the named calendars.
 Date findFutureFreeInterval(String interval, String calendarName, Date startTime)
          This method finds the next effective time which is free after the start time passed in and according to the associated calendar.
 Date findFutureFreeInterval(String interval, String calendarName, Date startTime, String clientTz)
          This method finds the next effective time which is free after the start time passed in and according to the associated Calendar in the TimeZone passed in as an argument.
 String[] getAllCalendarNames()
          Get the names of all known calendars in the system.
 CalendarDocument[] getAllCalendars()
          Gets all calendars, including rules info and mapped groups and users.
 AvailabilityInfo[] getAvailability(CalendarDocument cDoc, Date startTime, Date endTime)
          Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times.
 AvailabilityInfo[] getAvailabilityForUser(String userId, Date startTime, Date endTime)
          Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times.
 AvailabilityInfo[] getAvailabilityForUserInGroups(String userId, String[] groups, Date startTime, Date endTime)
          Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times.
 CalendarDocument getCalendar(String calendarName)
           
 CalendarDocument getGroupCalendar(String groupId)
           
 CalendarDocument getGroupCalendarWalkHierarchy(String groupId)
          If a calendar is mapped to the group then that calendar is returned, otherwise returns the system calendar.
 Date getNextFreeMinute(CalendarDocument cDoc, Date time)
          Returns the next free minute given the rules in the calendar passed from the time passed.
 Date getNextFreeMinute(CalendarDocument cDoc, Date time, String clientTz)
          Returns the next free minute according to the associated calendar in the TimeZone passed in as an argument.
 CalendarDocument getSystemCalendar()
          Get the system calendar.
 CalendarDocument getUserCalendar(String userId)
           
 CalendarDocument getUserCalendarWalkHierarchy(String userId)
          If a calendar is mapped to the user then that calendar is returned, otherwise returns the system calendar.
 void insertUserCalendarMapping(String userid, String calendarId)
          Same as updateUserCalendar.
 boolean isTimeFree(CalendarDocument cDoc, Date time)
           
 boolean isTimeFree(CalendarDocument cDoc, Date time, String clientTz)
           
 boolean isUserTimeFree(String userId, Date time)
          Looks up the user's calendar using getUserCalendarWalkHierarchy and checks if the time passed is free based on the rules in the calendar.
 boolean isUserTimeFree(String userId, Date time, String clientTz)
          Looks up the user's calendar using the getUserCalendarWalkHierarchy and checks if the time passed in in the TimeZone passed in is free based on the rules in the calendar.
 void setGroupCalendar(String groupId, String calendarName)
           
 void setUserCalendar(String userId, String calendarName)
          Set the user's calendar.
 Date subtractBusinessTime(String interval, CalendarDocument cDoc)
           
 Date subtractBusinessTime(String interval, CalendarDocument cDoc, Date startTime)
           
 Date subtractBusinessTime(String interval, CalendarDocument cDoc, Date startTime, String clientTz)
           
 Date subtractBusinessTime(String interval, String userOrGroupId)
           
 Date subtractBusinessTime(String interval, String userOrGroupId, Date startTime)
          Go back in time by the given interval.
 Date subtractBusinessTime(String interval, String userOrGroupId, Date startTime, String clientTz)
           
 Date subtractBusinessTimeCalendarName(String interval, String calendarName)
           
 Date subtractBusinessTimeCalendarName(String interval, String calendarName, Date startTime)
           
 Date subtractBusinessTimeCalendarName(String interval, String calendarName, Date startTime, String clientTz)
           
 Date subtractBusinessTimeSystemCalendar(String interval, Date startTime)
           
 Date subtractBusinessTimeSystemCalendar(String interval, Date startTime, String clientTz)
           
 boolean systemCalendarExists()
          Does the (single) system calendar exist yet? The system calendar can be lazily instantiated, so it is not guaranteed to exist until needed.
 void unsetGroupCalendar(String groupId)
           
 void unsetUserCalendar(String userId)
          Unset the user's calendar.
 void updateCalendar(String oldCalendarName, CalendarDocument cDoc)
          Update the calendar - oldCalendarName, using the passed CalendarDocument.
 void updateSystemCalendar(CalendarDocument cDoc)
          Update the system calendar using the passed CalendarDocument.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

calendarNameExists

boolean calendarNameExists(String name)
                           throws BusinessCalendarException,
                                  RemoteException
Checks if a calendar with the given name exists.

Parameters:
name -
Returns:
Throws:
BusinessCalendarException
RemoteException

createCalendar

void createCalendar(CalendarDocument cDoc)
                    throws BusinessCalendarException,
                           RemoteException
Creates a new calendar from the information passed in the CalendarDocument.

Parameters:
cDoc -
Throws:
BusinessCalendarException - if a calendar with the given name exists or of the document is not valid.
RemoteException
NullPointerException - if cDoc is null.

getCalendar

CalendarDocument getCalendar(String calendarName)
                             throws BusinessCalendarException,
                                    RemoteException
Parameters:
calendarName -
Returns:
The CalendarDocument or null if a calendar with the given name does not exist.
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if calendarName is null.

updateCalendar

void updateCalendar(String oldCalendarName,
                    CalendarDocument cDoc)
                    throws BusinessCalendarException,
                           RemoteException
Update the calendar - oldCalendarName, using the passed CalendarDocument. The name of the calendar is also updated based on the name passed in. Use updateSystemCalendar to update the system calendar.

Parameters:
oldCalendarName -
cDoc -
Throws:
BusinessCalendarException - if the CalendarDocument indicates that this is a system calendar or if the system calendar has the same name as this calendar or if the name is being updated and a calendar already exists with that name.
RemoteException
NullPointerException - if oldCalendarName or cDoc is null.

updateSystemCalendar

void updateSystemCalendar(CalendarDocument cDoc)
                          throws BusinessCalendarException,
                                 RemoteException
Update the system calendar using the passed CalendarDocument. If the name of the calendar is differnt than the name of the existing system calendar, then the existing system calendar is changed to non-system calendar. If a calendar with this name does not exist then it is created.

Parameters:
cDoc -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if cDoc is null.

deleteCalendar

void deleteCalendar(String calendarName)
                    throws BusinessCalendarException,
                           RemoteException
Delete the named calendar. If no calendar with the given name exists, the method simply returns.

Parameters:
calendarName -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if calendarName is null.

deleteCalendars

void deleteCalendars(String[] names)
                     throws BusinessCalendarException,
                            RemoteException
Delete the named calendars. If any calendar name does not match an existing calendar, the name is ignored, and the next name is processed.

Parameters:
names - Names of the calendars to be deleted.
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if names is null.

systemCalendarExists

boolean systemCalendarExists()
                             throws BusinessCalendarException,
                                    RemoteException
Does the (single) system calendar exist yet? The system calendar can be lazily instantiated, so it is not guaranteed to exist until needed.

Throws:
BusinessCalendarException
RemoteException

getSystemCalendar

CalendarDocument getSystemCalendar()
                                   throws BusinessCalendarException,
                                          RemoteException
Get the system calendar. If it doesn't yet exist, a BusinessCalendarException is thrown.

Throws:
BusinessCalendarException
RemoteException

getAllCalendarNames

String[] getAllCalendarNames()
                             throws BusinessCalendarException,
                                    RemoteException
Get the names of all known calendars in the system.

Throws:
BusinessCalendarException
RemoteException

getAllCalendars

CalendarDocument[] getAllCalendars()
                                   throws BusinessCalendarException,
                                          RemoteException
Gets all calendars, including rules info and mapped groups and users.

Returns:
Throws:
BusinessCalendarException
RemoteException

setUserCalendar

void setUserCalendar(String userId,
                     String calendarName)
                     throws BusinessCalendarException,
                            RemoteException
Set the user's calendar. Does not do anything is either the given user or the calendar does not exist. A user can have only one calendar, so if a calendar is already mapped to the user then it is unmapped.

Parameters:
userId -
calendarName -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

unsetUserCalendar

void unsetUserCalendar(String userId)
                       throws BusinessCalendarException,
                              RemoteException
Unset the user's calendar.

Parameters:
userId -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

getUserCalendar

CalendarDocument getUserCalendar(String userId)
                                 throws BusinessCalendarException,
                                        RemoteException
Parameters:
userId -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

getUserCalendarWalkHierarchy

CalendarDocument getUserCalendarWalkHierarchy(String userId)
                                              throws BusinessCalendarException,
                                                     RemoteException
If a calendar is mapped to the user then that calendar is returned, otherwise returns the system calendar. Note that the existance of a system calendar is ensured by the sytem so this method always returns a calendar.

Parameters:
userId -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

insertUserCalendarMapping

void insertUserCalendarMapping(String userid,
                               String calendarId)
                               throws BusinessCalendarException,
                                      RemoteException
Same as updateUserCalendar.

Parameters:
userid -
calendarId -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

setGroupCalendar

void setGroupCalendar(String groupId,
                      String calendarName)
                      throws BusinessCalendarException,
                             RemoteException
Parameters:
groupId -
calendarName -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the groupId passed is null.

unsetGroupCalendar

void unsetGroupCalendar(String groupId)
                        throws BusinessCalendarException,
                               RemoteException
Parameters:
groupId -
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the groupId passed is null.

getGroupCalendar

CalendarDocument getGroupCalendar(String groupId)
                                  throws BusinessCalendarException,
                                         RemoteException
Parameters:
groupId -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the groupId passed is null.

getGroupCalendarWalkHierarchy

CalendarDocument getGroupCalendarWalkHierarchy(String groupId)
                                               throws BusinessCalendarException,
                                                      RemoteException
If a calendar is mapped to the group then that calendar is returned, otherwise returns the system calendar.

Parameters:
groupId -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the groupId passed is null.

getNextFreeMinute

Date getNextFreeMinute(CalendarDocument cDoc,
                       Date time)
                       throws BusinessCalendarException,
                              RemoteException
Returns the next free minute given the rules in the calendar passed from the time passed.

Parameters:
cDoc -
time -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if cDoc is null.

isUserTimeFree

boolean isUserTimeFree(String userId,
                       Date time)
                       throws BusinessCalendarException,
                              RemoteException
Looks up the user's calendar using getUserCalendarWalkHierarchy and checks if the time passed is free based on the rules in the calendar.

Parameters:
userId -
time -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if userId is null.

isTimeFree

boolean isTimeFree(CalendarDocument cDoc,
                   Date time)
                   throws BusinessCalendarException,
                          RemoteException
Parameters:
cDoc -
time -
Returns:
Throws:
BusinessCalendarException
RemoteException
NullPointerException - if the userId passed is null.

getAvailabilityForUser

AvailabilityInfo[] getAvailabilityForUser(String userId,
                                          Date startTime,
                                          Date endTime)
                                          throws BusinessCalendarException,
                                                 RemoteException
Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times.

Parameters:
userId - The user whose calendar will be scanned for free time.
startTime - The earliest time that should be scanned for in the calendar.
endTime - The latest time that should be scanned for in the calendar.
Returns:
An array of AvailabilityInfo indicating blocks of free time. If the user has no availability, an empty array is returned.
Throws:
BusinessCalendarException
RemoteException

getAvailabilityForUserInGroups

AvailabilityInfo[] getAvailabilityForUserInGroups(String userId,
                                                  String[] groups,
                                                  Date startTime,
                                                  Date endTime)
                                                  throws BusinessCalendarException,
                                                         RemoteException
Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times. If the user has no explicit business calendar, use the business calendar from the first group in the given array of group names, if possible. If none of the listed groups has an associated calendar, the system calendar is used.

Parameters:
userId - The user whose calendar will be scanned for free time.
startTime - The earliest time that should be scanned for in the calendar.
endTime - The latest time that should be scanned for in the calendar.
Returns:
An array of AvailabilityInfo indicating blocks of free time. If the user has no availability, an empty array is returned.
Throws:
BusinessCalendarException
RemoteException

getAvailability

AvailabilityInfo[] getAvailability(CalendarDocument cDoc,
                                   Date startTime,
                                   Date endTime)
                                   throws BusinessCalendarException,
                                          RemoteException
Determine the availability (as blocks of free time) for the given user over the period defined by the given start and end times.

Parameters:
cDoc - The calendar instance to scan for free time.
startTime - The earliest time that should be scanned for in the calendar.
endTime - The latest time that should be scanned for in the calendar.
Returns:
An array of AvailabilityInfo indicating blocks of free time. If the calendar has no availability, an empty array is returned.
Throws:
BusinessCalendarException
RemoteException

addBusinessTime

Date addBusinessTime(String interval,
                     String userOrGroupId,
                     Date startTime)
                     throws BusinessCalendarException,
                            RemoteException
Determines if userOrGroupId is a user id or group id. Looks up the calendar using the appropriate "walk hierarchy" method. Adds the business time interval specified by the interval parameter to the given startTime based on the rules of the calendar looked up. Note that the interval time periods are "Business times". Business time for a unit of time (days, hours, minutes) is defined as a period of the equivalent "real" time minutes which contains at least one free minute. E.g. 1 business day is a period of 24*60 minutes which has at least one minute free.

Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
userOrGroupId -
startTime -
Returns:
Throws:
RemoteException
NullPointerException - if the userId passed is null.
BusinessCalendarException - if the interval is improper.

addBusinessTime

Date addBusinessTime(String interval,
                     String userOrGroupId)
                     throws BusinessCalendarException,
                            RemoteException
Use startTime as current time.

Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
userOrGroupId -
Returns:
Throws:
RemoteException
NullPointerException - if the userId passed is null.
BusinessCalendarException - if the interval is improper.

addBusinessTimeCalendarName

Date addBusinessTimeCalendarName(String interval,
                                 String calendarName)
                                 throws BusinessCalendarException,
                                        RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
calendarName -
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

addBusinessTimeCalendarName

Date addBusinessTimeCalendarName(String interval,
                                 String calendarName,
                                 Date startTime)
                                 throws BusinessCalendarException,
                                        RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
calendarName -
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

addExactTimeCalendarName

Date addExactTimeCalendarName(String interval,
                              String calendarName,
                              Date startTime)
                              throws BusinessCalendarException,
                                     RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
calendarName -
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

addBusinessTimeSystemCalendar

Date addBusinessTimeSystemCalendar(String interval,
                                   Date startTime)
                                   throws BusinessCalendarException,
                                          RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

addBusinessTime

Date addBusinessTime(String interval,
                     CalendarDocument cDoc)
                     throws BusinessCalendarException,
                            RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
cDoc - Must not be null
Returns:
Throws:
RemoteException
BusinessCalendarException - if the cDoc passed is null, or the interval is improper.

addBusinessTime

Date addBusinessTime(String interval,
                     CalendarDocument cDoc,
                     Date startTime)
                     throws BusinessCalendarException,
                            RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
cDoc - Must not be null
startTime - If null defaults to current time
Returns:
Throws:
RemoteException
BusinessCalendarException - if the cDoc passed is null, or the interval is improper.

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          String userOrGroupId,
                          Date startTime)
                          throws BusinessCalendarException,
                                 RemoteException
Go back in time by the given interval.

Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
userOrGroupId -
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          String userOrGroupId)
                          throws BusinessCalendarException,
                                 RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
userOrGroupId -
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

subtractBusinessTimeCalendarName

Date subtractBusinessTimeCalendarName(String interval,
                                      String calendarName)
                                      throws BusinessCalendarException,
                                             RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
calendarName -
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

subtractBusinessTimeCalendarName

Date subtractBusinessTimeCalendarName(String interval,
                                      String calendarName,
                                      Date startTime)
                                      throws BusinessCalendarException,
                                             RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
calendarName -
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

subtractBusinessTimeSystemCalendar

Date subtractBusinessTimeSystemCalendar(String interval,
                                        Date startTime)
                                        throws BusinessCalendarException,
                                               RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
startTime - If null defaults to current time.
Returns:
Throws:
RemoteException
BusinessCalendarException - if the interval is improper.

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          CalendarDocument cDoc)
                          throws BusinessCalendarException,
                                 RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
cDoc - Must not be null
Returns:
Throws:
RemoteException
BusinessCalendarException - if the cDoc passed is null, or the interval is improper.

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          CalendarDocument cDoc,
                          Date startTime)
                          throws BusinessCalendarException,
                                 RemoteException
Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported, in case string containts years, months or seconds one might get an exception. If null, defaults to 0 minutes.
cDoc - Must not be null
startTime - If null defaults to current time
Returns:
Throws:
RemoteException
BusinessCalendarException - if the cDoc passed is null, or the interval is improper.

getNextFreeMinute

Date getNextFreeMinute(CalendarDocument cDoc,
                       Date time,
                       String clientTz)
                       throws BusinessCalendarException,
                              RemoteException
Returns the next free minute according to the associated calendar in the TimeZone passed in as an argument.

Parameters:
cDoc -
time -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

isUserTimeFree

boolean isUserTimeFree(String userId,
                       Date time,
                       String clientTz)
                       throws BusinessCalendarException,
                              RemoteException
Looks up the user's calendar using the getUserCalendarWalkHierarchy and checks if the time passed in in the TimeZone passed in is free based on the rules in the calendar.

Parameters:
userId -
time -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

isTimeFree

boolean isTimeFree(CalendarDocument cDoc,
                   Date time,
                   String clientTz)
                   throws BusinessCalendarException,
                          RemoteException
Parameters:
cDoc -
time -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

addBusinessTime

Date addBusinessTime(String interval,
                     String userOrGroupId,
                     Date startTime,
                     String clientTz)
                     throws BusinessCalendarException,
                            RemoteException
Looks up the calendar using the appropriate "walk hierarchy" method. Adds the business time interval specified by the interval parameter to the given startTime in the give TimeZone based on the rules of the calendar looked up. Note that the interval time periods are "Business times". Business time for a unit of time (days, hours, minutes) is defined as a period of the equivalent "real" time minutes which contains at least one free minute. E.g. 1 business day is a period of 24*60 minutes which has at least one minute free.

Parameters:
interval - - a string in the format "d days, h hours, m minutes". e.g. "5 days", "5 days 2 minutes" Note that only days, hours, and minutes are supported.
interval -
userOrGroupId -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

addBusinessTimeCalendarName

Date addBusinessTimeCalendarName(String interval,
                                 String calendarName,
                                 Date startTime,
                                 String clientTz)
                                 throws BusinessCalendarException,
                                        RemoteException
Parameters:
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

findFutureFreeInterval

Date findFutureFreeInterval(String interval,
                            String calendarName,
                            Date startTime)
                            throws BusinessCalendarException,
                                   RemoteException
This method finds the next effective time which is free after the start time passed in and according to the associated calendar. The start time passed in is assumed to be in the server's TimeZone. The time considered is obtained every time by adding the time interval to the start time. It is made sure that the next effective time returned is in the future.

Parameters:
interval -
calendarName -
startTime -
Returns:
Throws:
BusinessCalendarException
RemoteException

findFutureFreeInterval

Date findFutureFreeInterval(String interval,
                            String calendarName,
                            Date startTime,
                            String clientTz)
                            throws BusinessCalendarException,
                                   RemoteException
This method finds the next effective time which is free after the start time passed in and according to the associated Calendar in the TimeZone passed in as an argument. The time considered is obtained by adding the time interval to the start time. It is made sure that the next effective time returned is in the future.

Parameters:
interval -
calendarName -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

addExactTimeCalendarName

Date addExactTimeCalendarName(String interval,
                              String calendarName,
                              Date startTime,
                              String clientTz)
                              throws BusinessCalendarException,
                                     RemoteException
Parameters:
interval -
calendarName -
startTime -
calendarName -
clientTz -
Throws:
BusinessCalendarException
RemoteException

addBusinessTimeSystemCalendar

Date addBusinessTimeSystemCalendar(String interval,
                                   Date startTime,
                                   String clientTz)
                                   throws BusinessCalendarException,
                                          RemoteException
Parameters:
interval -
startTime -
interval -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException - /**
BusinessCalendarException
RemoteException

addBusinessTime

Date addBusinessTime(String interval,
                     CalendarDocument cDoc,
                     Date startTime,
                     String clientTz)
                     throws BusinessCalendarException,
                            RemoteException
Parameters:
interval -
cDoc -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          String userOrGroupId,
                          Date startTime,
                          String clientTz)
                          throws BusinessCalendarException,
                                 RemoteException
Parameters:
interval -
userOrGroupId -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

subtractBusinessTimeCalendarName

Date subtractBusinessTimeCalendarName(String interval,
                                      String calendarName,
                                      Date startTime,
                                      String clientTz)
                                      throws BusinessCalendarException,
                                             RemoteException
Parameters:
interval -
calendarName -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

subtractBusinessTimeSystemCalendar

Date subtractBusinessTimeSystemCalendar(String interval,
                                        Date startTime,
                                        String clientTz)
                                        throws BusinessCalendarException,
                                               RemoteException
Parameters:
interval -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException

subtractBusinessTime

Date subtractBusinessTime(String interval,
                          CalendarDocument cDoc,
                          Date startTime,
                          String clientTz)
                          throws BusinessCalendarException,
                                 RemoteException
Parameters:
interval -
cDoc -
startTime -
clientTz -
Returns:
Throws:
BusinessCalendarException
RemoteException