public PascalTemplate(Edu.Stanford.Nlp.IE.Pascal.PascalTemplate pt)
 {
     //copy constructor
     this.values = new string[fields.Length];
     for (int i = 0; i < values.Length; i++)
     {
         if (pt.values[i] == null)
         {
             this.values[i] = null;
         }
         else
         {
             this.values[i] = pt.values[i];
         }
     }
 }
 /// <summary>Merges partial (clique) templates into a full one.</summary>
 /// <param name="dt">date template</param>
 /// <param name="location">location</param>
 /// <param name="wi">workshop/conference info template</param>
 /// <returns>
 /// the
 /// <see cref="PascalTemplate"/>
 /// resulting from this merge.
 /// </returns>
 public static Edu.Stanford.Nlp.IE.Pascal.PascalTemplate MergeCliqueTemplates(DateTemplate dt, string location, InfoTemplate wi)
 {
     Edu.Stanford.Nlp.IE.Pascal.PascalTemplate pt = new Edu.Stanford.Nlp.IE.Pascal.PascalTemplate();
     pt.SetValue("workshopnotificationofacceptancedate", dt.noadate);
     pt.SetValue("workshopcamerareadycopydate", dt.crcdate);
     pt.SetValue("workshopdate", dt.workdate);
     pt.SetValue("workshoppapersubmissiondate", dt.subdate);
     pt.SetValue("workshoplocation", location);
     pt.SetValue("workshopacronym", wi.wacronym);
     pt.SetValue("workshophomepage", wi.whomepage);
     pt.SetValue("workshopname", wi.wname);
     pt.SetValue("conferenceacronym", wi.cacronym);
     pt.SetValue("conferencehomepage", wi.chomepage);
     pt.SetValue("conferencename", wi.cname);
     return(pt);
 }
 public override bool Equals(object obj)
 {
     if (obj == null)
     {
         return(false);
     }
     if (!(obj is Edu.Stanford.Nlp.IE.Pascal.PascalTemplate))
     {
         return(false);
     }
     Edu.Stanford.Nlp.IE.Pascal.PascalTemplate pt = (Edu.Stanford.Nlp.IE.Pascal.PascalTemplate)obj;
     string[] values2 = pt.values;
     if (values.Length != values2.Length)
     {
         return(false);
     }
     for (int i = 0; i < values.Length - 1; i++)
     {
         if (values[i] == null)
         {
             if (values2[i] != null)
             {
                 return(false);
             }
         }
         else
         {
             if (values2[i] == null)
             {
                 return(false);
             }
             if (!values2[i].Equals(values[i]))
             {
                 return(false);
             }
         }
     }
     return(true);
 }