Files
barcodeManager/LibShapes/Core/Print/AbstractPrintItemFactory.cs
2026-01-24 08:45:54 +08:00

63 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Io.Github.Kerwinxu.LibShapes.Core.Print
{
public abstract class AbstractPrintItemFactory : IPrintItemFactory
{
/// <summary>
/// 用这个来保存PrintItem
/// </summary>
protected Dictionary<string, PrintItem> dict_printItem = new Dictionary<string, PrintItem>();
public PrintItem GetPrintItem(string name)
{
if (dict_printItem.ContainsKey(name))
{
return dict_printItem[name];
}
return null;
//throw new NotImplementedException();
}
/// <summary>
/// 删除,受到保护的,外部不能随便调用的。
/// </summary>
/// <param name="name"></param>
protected void deletePrintItem(string name)
{
dict_printItem.Remove(name);
//throw new NotImplementedException();
}
/// <summary>
/// 外部不能随便的增加
/// </summary>
/// <param name="name"></param>
/// <param name="printItem"></param>
protected void registerPrintItem(string name, PrintItem printItem)
{
if (! dict_printItem.ContainsKey(name))
{
// 没有才添加
dict_printItem[name] = printItem;
}
//throw new NotImplementedException();
}
public string registerPrintItem(PrintItem printItem)
{
string id = getNoRepeatId(); // 先取得一个不重复的id
registerPrintItem(id, printItem); // 注册
return id; // 返回这个id
}
public abstract string getNoRepeatId();
}
}