TbMsgMetaData refactored constructor and copy method

This commit is contained in:
Sergey Matvienko 2022-01-10 23:47:50 +02:00
parent c4d180eecc
commit f5c09d221d

View File

@ -15,9 +15,7 @@
*/
package org.thingsboard.server.common.msg;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Collections;
@ -29,15 +27,18 @@ import java.util.concurrent.ConcurrentHashMap;
* Created by ashvayka on 13.01.18.
*/
@Data
@NoArgsConstructor
public final class TbMsgMetaData implements Serializable {
public static final TbMsgMetaData EMPTY = new TbMsgMetaData(Collections.emptyMap());
private final Map<String, String> data = new ConcurrentHashMap<>();
private final Map<String, String> data;
public TbMsgMetaData() {
this.data = new ConcurrentHashMap<>();
}
public TbMsgMetaData(Map<String, String> data) {
data.forEach((key, val) -> putValue(key, val));
this.data = new ConcurrentHashMap<>(data);
}
public String getValue(String key) {
@ -55,6 +56,6 @@ public final class TbMsgMetaData implements Serializable {
}
public TbMsgMetaData copy() {
return new TbMsgMetaData(new ConcurrentHashMap<>(data));
return new TbMsgMetaData(data);
}
}