001 /*
002 * Copyright 2011 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 1.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.opensource.org/licenses/ecl1.php
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.enrollment.courseoffering.dto;
018
019 import java.util.ArrayList;
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.enrollment.courseoffering.infc.ActivityOfferingCluster;
029 import org.kuali.student.enrollment.courseoffering.infc.ActivityOfferingSet;
030 import org.kuali.student.r2.common.dto.IdEntityInfo;
031
032 import org.w3c.dom.Element;
033
034 /**
035 * @author Kuali Student Team (Kamal)
036 */
037 @XmlAccessorType(XmlAccessType.FIELD)
038 @XmlType(name = "ActivityOfferingClusterInfo", propOrder = {
039 "id", "typeKey", "stateKey", "name", "descr",
040 "privateName", "formatOfferingId", "activityOfferingSets",
041 "meta", "attributes", "_futureElements"})
042
043 public class ActivityOfferingClusterInfo
044 extends IdEntityInfo
045 implements ActivityOfferingCluster {
046
047 private static final long serialVersionUID = 1L;
048
049 @XmlElement
050 private String privateName;
051
052 @XmlElement
053 private String formatOfferingId;
054
055 @XmlElement
056 private List<ActivityOfferingSetInfo> activityOfferingSets;
057
058 @XmlAnyElement
059 private List<Element> _futureElements;
060
061
062 /**
063 * Constructs a new ActivityOfferingClusterInfo.
064 */
065 public ActivityOfferingClusterInfo() {
066 }
067
068 /**
069 * Constructs a new ActivityOfferingClusterInfo from another
070 * ActivityOfferingCluster.
071 *
072 * @param template the registration group template to copy
073 */
074 public ActivityOfferingClusterInfo(ActivityOfferingCluster template) {
075 super(template);
076
077 if (template == null) {
078 return;
079 }
080
081 this.formatOfferingId = template.getFormatOfferingId();
082 if (template.getActivityOfferingSets() != null) {
083 this.activityOfferingSets = new ArrayList<ActivityOfferingSetInfo>(template.getActivityOfferingSets().size());
084 for (ActivityOfferingSet aotemplate : template.getActivityOfferingSets()) {
085 this.activityOfferingSets.add(new ActivityOfferingSetInfo(aotemplate));
086 }
087 }
088 }
089
090 @Override
091 public String getPrivateName() {
092 return this.privateName;
093 }
094
095 public void setPrivateName(String privateName) {
096 this.privateName = privateName;
097 }
098
099 @Override
100 public String getFormatOfferingId() {
101 return formatOfferingId;
102 }
103
104 public void setFormatOfferingId(String formatOfferingId) {
105 this.formatOfferingId = formatOfferingId;
106 }
107
108 @Override
109 public List<ActivityOfferingSetInfo> getActivityOfferingSets() {
110 if (activityOfferingSets == null) {
111 activityOfferingSets = new ArrayList<ActivityOfferingSetInfo>();
112 }
113
114 return activityOfferingSets;
115 }
116
117 public void setActivityOfferingSets(List<ActivityOfferingSetInfo> activityOfferingSets) {
118 this.activityOfferingSets = activityOfferingSets;
119 }
120 }