STCourseDetails.java
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 setInstanceIdcom.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 setVersionIdcom.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 setCodecom.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 setNamecom.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 setSupervisorcom.almamater.crs.services.coursesdomainsupport.STTeacherKey pSupervisor)
140       {
141           mSupervisor = pSupervisor;
142       }
143 }