public void populateName() {
   name =
       programTypeProp.displayName
           + " "
           + DateUtils.getDurationAsString(startYYYYMMDD, endYYYYMMDD)
           + " @ "
           + venueProp.displayName;
 }
  public String getNameWOVenue() {
    name =
        programTypeProp.displayName
            + " "
            + DateUtils.getDurationAsString(startYYYYMMDD, endYYYYMMDD)
            + " @ "
            + groupProp.displayName;

    return name;
  }
  public String getDetailsAsHtml() {
    StringBuilder builder = new StringBuilder();
    builder.append("<b>Program Details</b><br>");
    builder.append("<i>Program Type:</i> " + programTypeProp.displayName + "<br>");
    builder.append("<i>Center:</i> " + groupProp.displayName + "<br>");
    builder.append(
        "<i>Date</i>: " + DateUtils.getDurationAsString(startYYYYMMDD, endYYYYMMDD) + "<br>");
    builder.append("<i>Venue: </i>" + venueProp.displayName + "<br>");
    builder.append("<i>Venue Full Address: </i>" + venueProp.displayName + "<br>");
    builder.append("<i>Teacher: </i>" + teacherProp.email + "<br><br>");

    return builder.toString();
  }
  public void ensureValidSessionDate(int sessionDateYYYYMMDD) {
    DateUtils.ensureFormatYYYYMMDD(sessionDateYYYYMMDD);

    if ((sessionDateYYYYMMDD < startYYYYMMDD) || (sessionDateYYYYMMDD > endYYYYMMDD))
      Utils.throwIncorrectSpecException(
          "Session date ["
              + sessionDateYYYYMMDD
              + "] should be between start ["
              + startYYYYMMDD
              + "] and end date ["
              + endYYYYMMDD
              + "] for Program ["
              + name
              + "]");
  }
 public String getName() {
   return programTypeProp.displayName
       + ": "
       + DateUtils.getDurationAsString(startYYYYMMDD, endYYYYMMDD);
 }