When I started to create this class I didn't think it would work as well
as it did, but am afraid it might not be good programming.
 
Thanks for any feedback!
 
package com.lib.enums
{
 import mx.collections.ArrayCollection;
 
 public class CommBatchTypeEnum
 {
  //used to bind all of the enums to a dataprovider
  public static const BATCH_TYPE_LIST:ArrayCollection = new
ArrayCollection();
  public static const DIRECT_SALES_MONTHLY_ADVANCE:CommBatchTypeEnum =
new CommBatchTypeEnum(1, "Direct Sales Monthly Advance");
  public static const DIRECT_SALES_TRUE_UP:CommBatchTypeEnum = new
CommBatchTypeEnum(2, "Direct Sales True Up");
  public static const MONTHLY_CHARGE_BACK:CommBatchTypeEnum = new
CommBatchTypeEnum(3, "Monthly Charge Back");
  public static const MONTHLY_WRITE_OFF:CommBatchTypeEnum = new
CommBatchTypeEnum(4, "Monthly Write Off");
  public static const STANDARD_USAGE:CommBatchTypeEnum = new
CommBatchTypeEnum(5, "Standard Usage");
  public static const STANDARD_PRODUCT:CommBatchTypeEnum = new
CommBatchTypeEnum(6, "Standard Product");
  public static const OVERRIDE_USAGE:CommBatchTypeEnum = new
CommBatchTypeEnum(7, "Override Usage ");
  public static const OVERRIDE_PRODUCT:CommBatchTypeEnum = new
CommBatchTypeEnum(8, "Override Product");
  public static const USAGE_CHARGE_BACK:CommBatchTypeEnum = new
CommBatchTypeEnum(9, "Usage Charge Back");
  
  private static var locked:Boolean = false;
 
  {
   locked = true;
  }
  
  private var _batchTypeID:uint;
  private var _batchTypeName:String;
 
  public function CommBatchTypeEnum(valueID:uint, valueName:String)
  {
   if (locked) 
   {
    throw new Error("You can't instantiate CommBatchTypeEnum");
   }
   _batchTypeID = valueID;
   _batchTypeName = valueName;
   BATCH_TYPE_LIST.addItem(this);
  }
  
  public function get batchTypeID():uint
  {
   return _batchTypeID;
  }
  
  public function get batchTypeName():String
  {
   return _batchTypeName;
  }
 }
}

Reply via email to