001 //
002 // This file is generated by MetaBoss Ver 1.4.0001 at Thu Dec 15 22:36:08 EST 2005
003 // MetaBoss is Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
004 // Content of this file is Copyright 2000-2005 © Softaris Pty. Ltd. All Rights Reserved.
005 // This content is licensed under Open Source Gnu Public License (GPL)
006 // Full terms and conditions of GPL can be found found at www.gnu.org
007 //
008
009 package com.almamater.crs.services.coursesdomainsupport;
010
011 import java.io.Serializable;
012 import com.metaboss.enterprise.datatypes.CompositeDataType;
013
014 /** This structure is used to carry details of the instance of the 'Course' entity in inputs to or outputs from various administraton operations.
015 *<P>This class represents the CourseDetails composite value class (also called 'Structure').
016 * Structure class consists of any number of fields (ie. member variables). Every field of the structure class is accessible via dedicated getter and setter methods.</P>
017 *<P><B>This structure has folowing fields:</B>
018 *<table border=\"1\">
019 * <tr><th>Field Name</th><th>Field Type</th><th>Field Description</th></tr>
020 * <tr><td>InstanceId</td><td>{@link com.almamater.crs.types.system.courses.CourseInstanceId CourseInstanceId}</td><td>Course instance identifier. At most one instance can have the particular value</td></tr>
021 * <tr><td>VersionId</td><td>{@link com.almamater.crs.types.system.courses.CourseVersionId CourseVersionId}</td><td>Course version identifier. Every successfull update of the instance increments this version identifier</td></tr>
022 * <tr><td>Code</td><td>{@link com.almamater.types.core.CourseCode CourseCode}</td><td>The code uniquely identifying the course</td></tr>
023 * <tr><td>Name</td><td>{@link com.almamater.types.core.StringField StringField}</td><td>The name of the course</td></tr>
024 * <tr><td>Supervisor</td><td>{@link com.almamater.crs.services.coursesdomainsupport.STTeacherKey STTeacherKey}</td><td>One and only one Teacher responsible for this Course</td></tr>
025 * </table>
026 *<P><I><U>Special field values note</U> If a structure field is not populated at all and set to null - it should be interpreted as
027 * "field value has not been specified". If a structure field is populated with empty value (all value objects have special non-null empty value) or an
028 * array structure field is populated with zero length array - it should be interpreted as "empty field value has been specified". There could be a
029 * significant diference between these two interpretations. For example:
030 * <UL>
031 * <LI>When null value for the field is submitted for update operation, the field value in storage will not be touched during the update and the previous value will stay.</LI>
032 * <LI>When empty value for the field is submitted for update operation, the field value in storage will be cleared (i.e. set to empty).</LI>
033 * </UL></I></P>
034 * <P><I><U>Structure creation note</U> To create an instance of this structure use constructor followed by
035 * individual field setter methods to set the values for the individual fields. Constructor creates the structure
036 * with all fields set to null, which means "field value has not been specified". Therefore only fields which need
037 * to contain a meaningful value should be worked on.</I></P>
038 */
039 public final class STCourseDetails implements Serializable, CompositeDataType
040 {
041 private com.almamater.crs.types.system.courses.CourseInstanceId mInstanceId;
042 private com.almamater.crs.types.system.courses.CourseVersionId mVersionId;
043 private com.almamater.types.core.CourseCode mCode;
044 private com.almamater.types.core.StringField mName;
045 private com.almamater.crs.services.coursesdomainsupport.STTeacherKey mSupervisor;
046 /** Creates empty instance of the structure. This is the only available
047 * constructor. To populate structure with data use individual field setter methods. */
048 public STCourseDetails()
049 {
050 }
051
052 /** @return true if this structure is empty */
053 public boolean isEmpty()
054 {
055 return mInstanceId == null && mVersionId == null && mCode == null && mName == null && mSupervisor == null;
056 }
057
058 /** Getter for the InstanceId field.
059 * <p>Field description is: <i>Course instance identifier. At most one instance can have the particular value</i></p>
060 * @return the value of the InstanceId field or null if field was not set.
061 */
062 public com.almamater.crs.types.system.courses.CourseInstanceId getInstanceId()
063 {
064 return mInstanceId;
065 }
066
067 /** Setter for the InstanceId field.
068 * <p>Field description is: <i>Course instance identifier. At most one instance can have the particular value</i></p>
069 * @param pInstanceId the proposed value of the InstanceId attribute.
070 */
071 public void setInstanceId( com.almamater.crs.types.system.courses.CourseInstanceId pInstanceId)
072 {
073 mInstanceId = pInstanceId;
074 }
075 /** Getter for the VersionId field.
076 * <p>Field description is: <i>Course version identifier. Every successfull update of the instance increments this version identifier</i></p>
077 * @return the value of the VersionId field or null if field was not set.
078 */
079 public com.almamater.crs.types.system.courses.CourseVersionId getVersionId()
080 {
081 return mVersionId;
082 }
083
084 /** Setter for the VersionId field.
085 * <p>Field description is: <i>Course version identifier. Every successfull update of the instance increments this version identifier</i></p>
086 * @param pVersionId the proposed value of the VersionId attribute.
087 */
088 public void setVersionId( com.almamater.crs.types.system.courses.CourseVersionId pVersionId)
089 {
090 mVersionId = pVersionId;
091 }
092 /** Getter for the Code field.
093 * <p>Field description is: <i>The code uniquely identifying the course</i></p>
094 * @return the value of the Code field or null if field was not set.
095 */
096 public com.almamater.types.core.CourseCode getCode()
097 {
098 return mCode;
099 }
100
101 /** Setter for the Code field.
102 * <p>Field description is: <i>The code uniquely identifying the course</i></p>
103 * @param pCode the proposed value of the Code attribute.
104 */
105 public void setCode( com.almamater.types.core.CourseCode pCode)
106 {
107 mCode = pCode;
108 }
109 /** Getter for the Name field.
110 * <p>Field description is: <i>The name of the course</i></p>
111 * @return the value of the Name field or null if field was not set.
112 */
113 public com.almamater.types.core.StringField getName()
114 {
115 return mName;
116 }
117
118 /** Setter for the Name field.
119 * <p>Field description is: <i>The name of the course</i></p>
120 * @param pName the proposed value of the Name attribute.
121 */
122 public void setName( com.almamater.types.core.StringField pName)
123 {
124 mName = pName;
125 }
126 /** Getter for the Supervisor field.
127 * <p>Field description is: <i>One and only one Teacher responsible for this Course</i></p>
128 * @return the value of the Supervisor field or null if field was not set.
129 */
130 public com.almamater.crs.services.coursesdomainsupport.STTeacherKey getSupervisor()
131 {
132 return mSupervisor;
133 }
134
135 /** Setter for the Supervisor field.
136 * <p>Field description is: <i>One and only one Teacher responsible for this Course</i></p>
137 * @param pSupervisor the proposed value of the Supervisor attribute.
138 */
139 public void setSupervisor( com.almamater.crs.services.coursesdomainsupport.STTeacherKey pSupervisor)
140 {
141 mSupervisor = pSupervisor;
142 }
143 }
|