001
002package com.commercetools.api.models.common;
003
004import java.time.*;
005import java.util.*;
006
007import com.fasterxml.jackson.annotation.JsonCreator;
008import com.fasterxml.jackson.annotation.JsonProperty;
009import com.fasterxml.jackson.databind.annotation.*;
010
011import io.vrap.rmf.base.client.ModelBase;
012
013import org.apache.commons.lang3.builder.EqualsBuilder;
014import org.apache.commons.lang3.builder.HashCodeBuilder;
015
016/**
017 * LocalizedString implementation
018 */
019public class LocalizedStringImpl implements LocalizedString, ModelBase {
020
021    private Map<String, String> values;
022
023    @JsonCreator
024    LocalizedStringImpl(@JsonProperty("values") final Map<String, String> values) {
025        this.values = values;
026    }
027
028    public LocalizedStringImpl() {
029    }
030
031    public Map<String, String> values() {
032        return values;
033    }
034
035    public void setValue(String key, String value) {
036        if (values == null) {
037            values = new HashMap<>();
038        }
039        values.put(key, value);
040    }
041
042    @Override
043    public boolean equals(Object o) {
044        if (this == o)
045            return true;
046
047        if (o == null || getClass() != o.getClass())
048            return false;
049
050        LocalizedStringImpl that = (LocalizedStringImpl) o;
051
052        return new EqualsBuilder().append(values, that.values).isEquals();
053    }
054
055    @Override
056    public int hashCode() {
057        return new HashCodeBuilder(17, 37).append(values).toHashCode();
058    }
059
060}