Range - SymposiumScheduler/Symposium GitHub Wiki
Range : Is a data structure that covers a set of points in the int values
TimeRange : an implementation of Range which covers every point between start and end
TimeRangeSereis : is a Range with holes inside, it's created from a collection of TimeRange objects.
Ranges are inclusive i.e includes its start and end, example [1,10] includes the point 1 and 10.
If you need to combine multiple TimeRanges into one, You should avoid using the constructor of TimeRangeSeries, It's always safter to use union or other appropriate operations.
In most cases, you will not need to use TimeRangeSeries constructor but if you need to, you should know the fallowing : To create a TimeRangeSeries you need to give it a "simple" list of TimeRange objects. "simple" means that the list does not containt intersecting TimeRanges or no touching timeRanges for example, timeRanges like [1,5],[6,10] should be [1,10] because [1,5]U[6,10] includes exactly everypoint from 1 to 10.
The better option is using the Range.union(Collection<Range>)
just make a list of the ranges, choose any range and call its union with the list. This will give you the union without actually calling TimeRangeSeries constructor.
AbsoluteTime
an int that donates minute count from midnight of day 0. int is more than enough to donate minutes, it gives us about 4000 years.
NormalTime
is any string of the format
"<number of day>, <hr>:<mnt>-<hr>:<mnt>"
or multiple lines of the same format. hr is in 24 hour format and days starts with day 0