Hi. I need to create new type of barcode - EAN14. I’ve created new value in extension of enum BarcodeType - EAN14, new class BarcodeEAN14 which extends BarcodeEAN_UPC and implemented required methods from BarcodeEAN_UPC in BarcodeEAN14 class. When I would to create new BarcodeSetup from a job, constructor of Barcode class throws error. In debugger I see that, reflection by attribute BarcodeTypeFactory cannot resolve class with this attribute from cache. What I need to do next?
[BarcodeTypeFactory(BarcodeType::EAN14)]
public class BarcodeEAN14 extends BarcodeEAN_UPC
{
public BarcodeType barcodeType()
{
return BarcodeType::EAN14;
}
BarCodeString encodeString(BarCodeString _stringIn)
{
BarCodeString result;
return result;
}
public Integer strlen()
{
return 14;
}
public static BarcodeEAN14 construct()
{
return new BarcodeEAN14();
}
}
class EAN14BarcodeSetupInit
{
/// <summary>
/// Runs the class with the specified arguments.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
BarcodeSetup barcodeSetup;
#define.EAN14('EAN14')
#define.length(14)
#define.size(13)
barcodeSetup.initValue();
barcodeSetup.barcodeType = BarcodeType::EAN14;
barcodeSetup.description = #EAN14;
barcodeSetup.barcodeSetupId = #EAN14;
barcodeSetup.fontSize = #size;
barcodeSetup.minimumLength = #length;
barcodeSetup.maximumLength = #length;
barcodeSetup.defaultField(fieldNum(BarcodeSetup, fontName));
try
{
barcodeSetup.insert();
}
catch(Exception::Error)
{
throw error(strFmt("@DTL:CreatingBarcodeEAN14Failed", barcodeSetup.barcodeSetupId));
}
info(strFmt("@DTL:CreatedBarcodeEAN14", barcodeSetup.barcodeSetupId));
}
}