
com.undefinedlabs.scope.context.SharedContextMap Maven / Gradle / Ivy
package com.undefinedlabs.scope.context;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class SharedContextMap {
public static final ImmutableContext.Key SHARED_CONTEXT_MAP_KEY =
ImmutableContext.key("scope-shared-context-map-key");
private final String id;
private final Map map;
public SharedContextMap() {
this(UUID.randomUUID().toString(), new HashMap());
}
public SharedContextMap(final String id, final Map map) {
this.id = id;
this.map = map;
}
public String getId() {
return id;
}
public Map getMap() {
return map;
}
public boolean isEmpty() {
return map.isEmpty();
}
public Object put(final String key, final Object value) {
return map.put(key, value);
}
public Object get(final String key) {
return map.get(key);
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
final SharedContextMap that = (SharedContextMap) o;
return new EqualsBuilder().append(id, that.id).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37).append(id).toHashCode();
}
@Override
public String toString() {
return new ToStringBuilder(this).append("id", id).append("map", map).toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy