1 TYPE BODY "CAC_SR_FREEBUSYTIME" AS
2 ORDER MEMBER FUNCTION compare
3 /*****************************************************************************
4 **
5 ** This function is used to overload the <,>,= operator for
6 ** CAC_SR_FREEBUSYTIME objects. This allows us to compare objects in the
7 ** CAC_AVLBLTY_PVT.mergeObjectIntoList procedure.
8 **
9 *****************************************************************************/
10 (c IN CAC_SR_FREEBUSYTIME) RETURN INTEGER
11 IS
12 BEGIN
13 IF ( (StartDateTime < c.StartDateTime)
14 AND (EndDateTime < c.StartDateTime)
15 )
16 THEN
17 --
18 -- on a time axis this.FreeBusyObject lies left of c.FreeBusyObject.
19 -- This should be interpreted as his.FreeBusyObject < c.FreeBusyObject
20 --
21 RETURN -1;
22 ELSIF ( (StartDateTime > c.EndDateTime)
23 AND (EndDateTime > c.EndDateTime)
24 )
25 THEN
26 --
27 -- on a time axis this.FreeBusyObject lies right of c.FreeBusyObject.
28 -- This should be interpreted as his.FreeBusyObject > c.FreeBusyObject
29 --
30 RETURN 1;
31 ELSE
32 --
33 -- on a time axis this.FreeBusyObject overlaps c.FreeBusyObject.
34 -- This should be interpreted as his.FreeBusyObject = c.FreeBusyObject
35 --
36 RETURN 0;
37 END IF;
38 END;
39 END;
40