01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.
18: package org.columba.calendar.model;
19:
20: import org.columba.calendar.base.UUIDGenerator;
21: import org.columba.calendar.model.api.IEvent;
22: import org.columba.calendar.model.api.IEventInfo;
23: import org.columba.calendar.model.api.IComponent.TYPE;
24:
25: public class EventInfo extends ComponentInfo implements IEventInfo {
26:
27: private IEvent event;
28:
29: public EventInfo(String id, String calendarId, IEvent event) {
30: super (id, TYPE.EVENT, calendarId, event);
31: this .event = event;
32: }
33:
34: public IEvent getEvent() {
35: return event;
36: }
37:
38: /**
39: * @see java.lang.Object#clone()
40: */
41: @Override
42: protected Object clone() throws CloneNotSupportedException {
43:
44: // create new event with new UUID
45: String newId = new UUIDGenerator().newUUID();
46:
47: Event newEvent = new Event(newId);
48: // copy all attributes
49: newEvent.setDtStart(getEvent().getDtStart());
50: newEvent.setDtEnd(getEvent().getDtEnd());
51: newEvent.setDtStamp(getEvent().getDtStamp());
52: newEvent.setSummary(getEvent().getSummary());
53: newEvent.setLocation(getEvent().getLocation());
54: newEvent.setCalendar(getCalendar());
55:
56: EventInfo eventInfo = new EventInfo(newId, getCalendar(),
57: newEvent);
58:
59: return eventInfo;
60: }
61:
62: /**
63: * @see org.columba.calendar.model.api.IEvent#createCopy()
64: */
65: public IEventInfo createCopy() {
66: try {
67: return (IEventInfo) clone();
68: } catch (CloneNotSupportedException e) {
69: }
70: return null;
71: }
72:
73: }
|