Subversion Repositories DevTools

Rev

Rev 2155 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

using System;
using System.Collections;

namespace EA_ReqPro
{
   /// <summary>
   /// This class captures all the data of a ReqPro object that we need with a view to creating
   /// a representation of that object in an EA database.
   /// </summary>
   public class ReqPro_object
   {
      // mutually exclusive state vars (only one can be true in any given object).
      public bool isPackage;
      public bool isRequirement;

      // attributes captured from the ReqPro database
      public string name;        // Short name of the object
      public string text;        // Description of the object
      public string guid;        // GUID of the object in the ReqPro database
      public string tag;         // eg. CR23, SPR1, SPR2.5, etc
      public int tag_enum;       // enum version of 
      public string status;      // eg Approved, Proposed, etc
      public string subsystem;   
      public string stability;
      public string source;
      public string sourceVersion;
      public string sourceSection;
      public string versionDateTime;
      public string difficulty;
      public string priority;
      public string version;     // to be deprecated
      public string type;        // eg. functional, performance, non-functional, etc
      public int iKey;           // Allows us to query ReqPro database effeciently

      // parser control variables
      public int level;          // controls depth ordering in EA
      public int treePos;        // controls display ordering in EA
      public int ea_element_ID;  // ID of the EA representation of the ReqPro object once it has been written into the EA database
      public int numberOfRequirements;

      // filter control variables
      public bool filtered;

      // Relationship modelling variables  
      public ReqPro_object parent;  // allows us to look upwards

      // a collection of sub-objects - this is how we can reflect the ReqPro parent-child hierarchy,
      // by adding objects (packages or requirements) to other objects, drilling down
      // as required.
      public ArrayList ReqPro_objects;

      // a collection of traced-to objects. This captures the explicit traces-to relationships we find in
      // the ReqPro database
      public ArrayList ReqPro_traces;

      /// <summary>
      /// Constructor logic
      /// </summary>
      public ReqPro_object()
      {
         isPackage = false;
         isRequirement = false;
         name = "";
         text = "";
         guid = "";
         tag = "";
         status = "Approved";
         versionDateTime = "";
         level = 0;
         treePos = 0;
         difficulty = "Medium";
         priority = "Medium";
         version = "";
         source = "";
         sourceVersion = "";
         sourceSection = "";
         filtered = false;
         numberOfRequirements = 0;
         tag_enum = -1;
         ea_element_ID = -1;
         ReqPro_objects = new ArrayList();
         ReqPro_traces = new ArrayList();
         parent = null;
         iKey = -1;
         subsystem = "";
         stability = "";
         type = "";
      }
   }
}