From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期五, 01 十一月 2024 15:11:19 +0800
Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成"

---
 Source/BladeX-Tool/blade-core-auto/src/main/java/org/springblade/core/auto/common/MultiSetMap.java |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/Source/BladeX-Tool/blade-core-auto/src/main/java/org/springblade/core/auto/common/MultiSetMap.java b/Source/BladeX-Tool/blade-core-auto/src/main/java/org/springblade/core/auto/common/MultiSetMap.java
new file mode 100644
index 0000000..6625c6b
--- /dev/null
+++ b/Source/BladeX-Tool/blade-core-auto/src/main/java/org/springblade/core/auto/common/MultiSetMap.java
@@ -0,0 +1,132 @@
+/*
+ *      Copyright (c) 2018-2028, DreamLu All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: DreamLu 鍗㈡槬姊� (596392912@qq.com)
+ */
+package org.springblade.core.auto.common;
+
+import java.util.*;
+
+/**
+ * MultiSetMap
+ *
+ * @author L.cm
+ */
+public class MultiSetMap<K, V> {
+	private transient final Map<K, Set<V>> map;
+
+	public MultiSetMap() {
+		map = new HashMap<>();
+	}
+
+	private Set<V> createSet() {
+		return new HashSet<>();
+	}
+
+	/**
+	 * put to MultiSetMap
+	 *
+	 * @param key   閿�
+	 * @param value 鍊�
+	 * @return boolean
+	 */
+	public boolean put(K key, V value) {
+		Set<V> set = map.get(key);
+		if (set == null) {
+			set = createSet();
+			if (set.add(value)) {
+				map.put(key, set);
+				return true;
+			} else {
+				throw new AssertionError("New set violated the set spec");
+			}
+		} else if (set.add(value)) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 鏄惁鍖呭惈鏌愪釜key
+	 *
+	 * @param key key
+	 * @return 缁撴灉
+	 */
+	public boolean containsKey(K key) {
+		return map.containsKey(key);
+	}
+
+	/**
+	 * 鏄惁鍖呭惈 value 涓殑鏌愪釜鍊�
+	 *
+	 * @param value value
+	 * @return 鏄惁鍖呭惈
+	 */
+	public boolean containsVal(V value) {
+		Collection<Set<V>> values = map.values();
+		return values.stream().anyMatch(vs -> vs.contains(value));
+	}
+
+	/**
+	 * key 闆嗗悎
+	 *
+	 * @return keys
+	 */
+	public Set<K> keySet() {
+		return map.keySet();
+	}
+
+	/**
+	 * put list to MultiSetMap
+	 *
+	 * @param key 閿�
+	 * @param set 鍊煎垪琛�
+	 * @return boolean
+	 */
+	public boolean putAll(K key, Set<V> set) {
+		if (set == null) {
+			return false;
+		} else {
+			map.put(key, set);
+			return true;
+		}
+	}
+
+	/**
+	 * get List by key
+	 *
+	 * @param key 閿�
+	 * @return List
+	 */
+	public Set<V> get(K key) {
+		return map.get(key);
+	}
+
+	/**
+	 * clear MultiSetMap
+	 */
+	public void clear() {
+		map.clear();
+	}
+
+	/**
+	 * isEmpty
+	 *
+	 * @return isEmpty
+	 */
+	public boolean isEmpty() {
+		return map.isEmpty();
+	}
+}

--
Gitblit v1.9.3