kolibribeans
Class EventBeanContainer

java.lang.Object
  |
  +--kolibribeans.EventBeanContainer

public class EventBeanContainer
extends java.lang.Object

Title: EventBeanContainer Description: Copyright: Copyright (c) 2001 Company:


Constructor Summary
EventBeanContainer()
          Creates new Container
EventBeanContainer(RS2 rs)
          Creates container containing given events.
 
Method Summary
 void add(EventBean eb)
          Adds event to container.
 EventBeanContainer clearDublicates(EventBeanContainer high)
          Create a new set of events where are no events that have high prority events on them.
 EventBeanContainer clearDublicates(EventBeanContainer high, boolean remove_current)
          Create a new set of events where are no events that have high prority events on them.
 int findEventBetween(java.util.Calendar start, java.util.Calendar end)
          Finds first event in given timeinterval
 int findLast(int startIndex, java.util.Calendar startTime, int timeAddition, int timeAdditionType)
          finds index of last event in given row.
 java.util.Calendar findLastEndTime(int startIndex, int endIndex, java.util.Calendar startEndTime)
          Returns last endtime of events in given range.
 int findLastIndex_v2(int start, java.util.Calendar beginTime, int addition, int additionType)
          finds index of the event witch belongs to the cell in any week (or day) view
 int findLastOverlapping(int start)
          finds index of last overlapping event.
 java.util.Calendar findNextRowEndTime(java.util.Calendar endTime, java.util.Calendar startTime, int timeAddition, int timeAdditionType)
          Calculates next row endtime from event.
 java.util.Calendar findNextRowEndTime(int index, java.util.Calendar startTime, int timeAddition, int timeAdditionType)
          Calculates next row endtime from event.
 EventBean first()
          Goes to first event and returns it.
 EventBean get()
          Gets current event.
 EventBean get(int i)
          Gets event of given index
 java.util.Calendar getEndTimeForRow()
          finds index of the event witch belongs to the cell in any week (or day) view
 java.util.Calendar getMaxEndTime(int start, int end, java.util.Calendar startTime, int addition, int type)
          get maximum end time of events
 int getNextOccuringEvent(java.util.Calendar start, java.util.Calendar end)
          Returns index of first event that occurs in given time interval.
 int getNextOccuringEvent(java.util.Calendar start, java.util.Calendar end, int startIndex)
          Returns index of first event that occurs in given time interval.
 EventBeanContainer getOccuringEvents(java.util.Calendar start, java.util.Calendar end)
          Gets all events that occur during given time interval.
 EventBeanContainer getOccuringEvents(java.util.Calendar start, java.util.Calendar end, int startIndex)
          Gets all events that occur during given time interval.
 EventBeanContainer getPersonsOccuringEvents(java.util.Calendar start, java.util.Calendar end, int startIndex, int personID)
          Gets persons events that occur during given time interval.
 EventBeanContainer getPureOccuringEvents(java.util.Calendar start, java.util.Calendar end, int startIndex)
          Gets all events that occur during given time interval, not just touchingn begintime.
 EventBean last()
          Goes to last event and returns it.
 EventBean moveTo(int i)
          Moves to given index and returns event there.
 EventBean next()
          Goes to next event and returns it.
 int numberOfOccuringEvents(java.util.Calendar start, java.util.Calendar end)
          Calculates number of occurring events in time interval.
 int numberOfOccuringEvents(java.util.Calendar start, java.util.Calendar end, boolean distinct)
          Calculates number of occurring events in time interval.
 int numberOfOverlappingEvents(java.util.Calendar start, java.util.Calendar end)
          calculates number of overlapping events in time interval.
 int numberOfPersons(java.util.Calendar start, java.util.Calendar end, int startIndex)
          Gets number of persons who has events during time interval.
 EventBean prev()
          Goes to previous event and returns it.
 int rowsBetweenTimes(java.util.Calendar startTime, java.util.Calendar endTime, int timeAddition, int timeAdditionType)
          Calculates number of rows beteween times.
 int size()
          Returns number of events.
 boolean timeBetween(java.util.Calendar start, java.util.Calendar end, java.util.Calendar toTest)
          Tests if time is between interval
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventBeanContainer

public EventBeanContainer()
Creates new Container


EventBeanContainer

public EventBeanContainer(RS2 rs)
                   throws java.lang.Exception
Creates container containing given events.

Parameters:
rs - RS2 to parse events from.
Throws:
java.text.ParseException - Thrown if parsing of dates is not succesful.
java.sql.SQLException - Thrown if hadling of ResultSet/RS2 goes wrong.
java.lang.Exception
Method Detail

add

public void add(EventBean eb)
Adds event to container.

Parameters:
eb - Event to add.

get

public EventBean get()
Gets current event.

Returns:
Event.

get

public EventBean get(int i)
Gets event of given index

Parameters:
i - Preferred index.
Returns:
Event of given index. null if index is out of range.

first

public EventBean first()
Goes to first event and returns it.

Returns:
first event.

last

public EventBean last()
Goes to last event and returns it.

Returns:
lastevent.

next

public EventBean next()
Goes to next event and returns it.

Returns:
next event.

prev

public EventBean prev()
Goes to previous event and returns it.

Returns:
previous event

moveTo

public EventBean moveTo(int i)
Moves to given index and returns event there.

Parameters:
i - index to move to.
Returns:
event of given index. null if index is out of range.

size

public int size()
Returns number of events.

Returns:
number of events in container.

timeBetween

public boolean timeBetween(java.util.Calendar start,
                           java.util.Calendar end,
                           java.util.Calendar toTest)
Tests if time is between interval

Parameters:
start - Interval starttime.
end - Interval endtime.
toTest - Time to test
Returns:
true if time in interval

findEventBetween

public int findEventBetween(java.util.Calendar start,
                            java.util.Calendar end)
Finds first event in given timeinterval

Parameters:
start - Timeinterval starttime
end - Timeinterval endtim
Returns:
index of first event if found. -1 if event not found on given interval

findLastOverlapping

public int findLastOverlapping(int start)
finds index of last overlapping event.

Parameters:
start - index to finding of overlapping events
Returns:
Index of last overlapping event.

findLast

public int findLast(int startIndex,
                    java.util.Calendar startTime,
                    int timeAddition,
                    int timeAdditionType)
finds index of last event in given row.

Parameters:
startTime - Startime of row
timeAddition - Length of row.
timeAdditionType - Type of timeAddition (ie. Calenda.MINUTE)
Returns:
index of last event overlapping in row

findLastEndTime

public java.util.Calendar findLastEndTime(int startIndex,
                                          int endIndex,
                                          java.util.Calendar startEndTime)
Returns last endtime of events in given range.

Parameters:
startIndex - First index of interval.
endIndex - Last index of interval.
startEndTime - default end time.
Returns:
Last end time of events

findNextRowEndTime

public java.util.Calendar findNextRowEndTime(int index,
                                             java.util.Calendar startTime,
                                             int timeAddition,
                                             int timeAdditionType)
Calculates next row endtime from event.

Parameters:
index - Index of event to start caluculation.
startTime - Startime of any row
timeAddition - Length of row.
timeAdditionType - Type of timeAddition (ie. Calenda.MINUTE)
Returns:
Calculated endtime of this row.

findNextRowEndTime

public java.util.Calendar findNextRowEndTime(java.util.Calendar endTime,
                                             java.util.Calendar startTime,
                                             int timeAddition,
                                             int timeAdditionType)
Calculates next row endtime from event.

Parameters:
endTime - end time of last event.
startTime - Startime of any row
timeAddition - Length of row.
timeAdditionType - Type of timeAddition (ie. Calenda.MINUTE)
Returns:
calculated endtime of this row.

rowsBetweenTimes

public int rowsBetweenTimes(java.util.Calendar startTime,
                            java.util.Calendar endTime,
                            int timeAddition,
                            int timeAdditionType)
Calculates number of rows beteween times.

Parameters:
timeAddition - Length of row.
timeAdditionType - Type of timeAddition (ie. Calenda.MINUTE)
Returns:
number of rows between times

numberOfOverlappingEvents

public int numberOfOverlappingEvents(java.util.Calendar start,
                                     java.util.Calendar end)
calculates number of overlapping events in time interval.

Parameters:
start - Timeinterval start.
end - Timeinterval end.
Returns:
number of overlapping events.

numberOfOccuringEvents

public int numberOfOccuringEvents(java.util.Calendar start,
                                  java.util.Calendar end,
                                  boolean distinct)
Calculates number of occurring events in time interval. Make difference to booked and unbooked times.

Parameters:
start - Timeinterval start.
end - Timeinterval end.
distinct - Wether to separate bokked and unbooked events or not. If true, then don't calculate unbooked events.
Returns:
number of occuring events

numberOfOccuringEvents

public int numberOfOccuringEvents(java.util.Calendar start,
                                  java.util.Calendar end)
Calculates number of occurring events in time interval.

Parameters:
start - Timeinterval start.
end - Timeinterval end.
Returns:
number of occuring events

getNextOccuringEvent

public int getNextOccuringEvent(java.util.Calendar start,
                                java.util.Calendar end,
                                int startIndex)
Returns index of first event that occurs in given time interval.

Parameters:
start - Start time of time interval.
end - End time of time interval.
startIndex - index to start search from.
Returns:
index of first event occuring. -1 if no occuring events.

getNextOccuringEvent

public int getNextOccuringEvent(java.util.Calendar start,
                                java.util.Calendar end)
Returns index of first event that occurs in given time interval.

Parameters:
start - Start time of time interval.
end - End time of time interval.
Returns:
index of first event occuring. -1 if no occuring events.

getPersonsOccuringEvents

public EventBeanContainer getPersonsOccuringEvents(java.util.Calendar start,
                                                   java.util.Calendar end,
                                                   int startIndex,
                                                   int personID)
Gets persons events that occur during given time interval.

Parameters:
start - Start time.
end - Endtiime
startIndex - index to start searching from.
Returns:
EventBeanContainer containing persons events.

getOccuringEvents

public EventBeanContainer getOccuringEvents(java.util.Calendar start,
                                            java.util.Calendar end,
                                            int startIndex)
Gets all events that occur during given time interval.

Parameters:
start - Start time.
end - Endtiime
startIndex - index to start searching from.
Returns:
EventBeanContainer containing events.

getOccuringEvents

public EventBeanContainer getOccuringEvents(java.util.Calendar start,
                                            java.util.Calendar end)
Gets all events that occur during given time interval.

Parameters:
start - Start time.
end - Endtiime
Returns:
EventBeanContainer containing events.

getPureOccuringEvents

public EventBeanContainer getPureOccuringEvents(java.util.Calendar start,
                                                java.util.Calendar end,
                                                int startIndex)
Gets all events that occur during given time interval, not just touchingn begintime.

Parameters:
start - Start time.
end - Endtiime
startIndex - index to start searching from.
Returns:
EventBeanContainer containing events.

numberOfPersons

public int numberOfPersons(java.util.Calendar start,
                           java.util.Calendar end,
                           int startIndex)
Gets number of persons who has events during time interval.

Parameters:
start - Start time.
end - End time.
startIndex - Index to start searching.
Returns:
Number of persons who has occuring events.

findLastIndex_v2

public int findLastIndex_v2(int start,
                            java.util.Calendar beginTime,
                            int addition,
                            int additionType)
finds index of the event witch belongs to the cell in any week (or day) view

Parameters:
start - index to begin with
Returns:
Index of last event to include

getEndTimeForRow

public java.util.Calendar getEndTimeForRow()
finds index of the event witch belongs to the cell in any week (or day) view

Returns:
End time for the row witch was already created while searching the end index in method findLastIndex_v2. Makes no sence try to call this without method abowe

clearDublicates

public EventBeanContainer clearDublicates(EventBeanContainer high)
Create a new set of events where are no events that have high prority events on them.

Parameters:
high - Set of event that are to be avoided.
Returns:
A new set of events.

clearDublicates

public EventBeanContainer clearDublicates(EventBeanContainer high,
                                          boolean remove_current)
Create a new set of events where are no events that have high prority events on them. As extra feature remove all events that are earlier or on the current day

Parameters:
high - Set of event that are to be avoided.
remove_current - Remove current events
Returns:
A new set of events.

getMaxEndTime

public java.util.Calendar getMaxEndTime(int start,
                                        int end,
                                        java.util.Calendar startTime,
                                        int addition,
                                        int type)
get maximum end time of events