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;
}
}
}