001    /*
002     * Copyright 2011 The Kuali Foundation 
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the
005     * "License"); you may not use this file except in compliance with the
006     * License. You may obtain a copy of the License at
007     *
008     * http://www.osedu.org/licenses/ECL-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
013     * implied. See the License for the specific language governing
014     * permissions and limitations under the License.
015     */
016    
017    package org.kuali.student.r2.common.dto;
018    
019    import java.io.Serializable;
020    import java.util.List;
021    
022    import javax.xml.bind.annotation.XmlAccessType;
023    import javax.xml.bind.annotation.XmlAccessorType;
024    import javax.xml.bind.annotation.XmlAnyElement;
025    import javax.xml.bind.annotation.XmlElement;
026    import javax.xml.bind.annotation.XmlType;
027    
028    import org.kuali.student.r2.common.infc.MeetingSchedule;
029    //import org.w3c.dom.Element;
030    
031    /**
032     * Information about a MeetingSchedule. This will move into the
033     * Scheduling service.
034     *
035     * @author kamal
036     */
037    
038    @XmlAccessorType(XmlAccessType.FIELD)
039    @XmlType(name = "MeetingScheduleInfo", propOrder = {
040                    "id", "spaceId", "scheduleId" , "_futureElements" }) 
041    
042    public class MeetingScheduleInfo 
043        implements MeetingSchedule, Serializable {
044    
045        private static final long serialVersionUID = 1L;
046    
047        @XmlElement
048        private String id;
049    
050        @XmlElement
051        private String spaceId;
052    
053        @XmlElement
054        private String scheduleId;
055    
056        
057        @XmlAnyElement
058        private List<Object> _futureElements;  
059    
060    
061        /**
062         * Constructs a new MeetingScheduleInfo.
063         */
064        public MeetingScheduleInfo() {
065        }
066    
067        /**
068         * Constructs a new MeetingScheduleInfo from another
069         * MeetingSchedule.
070         *
071         * @param meetingSchedule the MeetingSchedule to copy
072         */
073        public MeetingScheduleInfo(MeetingSchedule meetingSchedule) {
074            if (null != meetingSchedule) {
075                this.id = meetingSchedule.getId();
076                this.spaceId = meetingSchedule.getSpaceId();
077                this.scheduleId = meetingSchedule.getScheduleId();
078            }
079        }
080    
081        @Override
082        public String getId() {
083            return id;
084        }
085    
086        public void setId(String id) {
087            this.id = id;
088        }
089    
090        @Override
091        public String getSpaceId() {
092            return spaceId;
093        }
094    
095        public void setSpaceId(String spaceId) {
096            this.spaceId = spaceId;
097        }
098    
099        @Override
100        public String getScheduleId() {
101            return scheduleId;
102        }
103    
104        public void setScheduleId(String scheduleId) {
105            this.scheduleId = scheduleId;
106        }
107    }