From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/print/PrintRendererRegistry.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/print/PrintRendererRegistry.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/print/PrintRendererRegistry.java
new file mode 100644
index 0000000..8df6b50
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/print/PrintRendererRegistry.java
@@ -0,0 +1,47 @@
+package jnpf.limsService.print;
+
+import jnpf.exception.DataException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Spring 鍚姩鏃舵敹闆嗘墍鏈� {@link PrintTemplateRenderer} 瀹炵幇锛屾寜 templateId 绱㈠紩銆�
+ * Controller 閫氳繃 {@link #get(String)} 璺敱鍒板叿浣� renderer銆�
+ */
+@Component
+public class PrintRendererRegistry {
+
+ private final Map<String, PrintTemplateRenderer> renderers;
+
+ @Autowired
+ public PrintRendererRegistry(List<PrintTemplateRenderer> rendererList) {
+ Map<String, PrintTemplateRenderer> map = new HashMap<>();
+ for (PrintTemplateRenderer r : rendererList) {
+ String key = r.getTemplateId();
+ if (key == null || key.isEmpty()) {
+ continue;
+ }
+ PrintTemplateRenderer existed = map.put(key, r);
+ if (existed != null) {
+ throw new IllegalStateException(
+ "閲嶅鐨� PrintTemplateRenderer template_id=" + key
+ + "锛屽啿绐佺被: " + existed.getClass().getName()
+ + " vs " + r.getClass().getName());
+ }
+ }
+ this.renderers = Collections.unmodifiableMap(map);
+ }
+
+ public PrintTemplateRenderer get(String templateId) {
+ PrintTemplateRenderer r = renderers.get(templateId);
+ if (r == null) {
+ throw new DataException("鎵句笉鍒版墦鍗版ā鏉跨殑娓叉煋鍣�: " + templateId);
+ }
+ return r;
+ }
+}
--
Gitblit v1.8.0