ProfileImpl.java 1.29 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.cq.mcm.campaign.profile.impl;

import com.adobe.cq.mcm.campaign.profile.MetaDataNode;
import com.adobe.cq.mcm.campaign.profile.Profile;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class ProfileImpl
implements Profile {
    private final Map<MetaDataNode, Object> profileData = new LinkedHashMap<MetaDataNode, Object>(4);

    @Override
    public Object getValue(MetaDataNode key) {
        return this.profileData.get(key);
    }

    @Override
    public void setValue(MetaDataNode key, Object value) {
        if (key == null) {
            throw new IllegalArgumentException("No 'null' key allowed; value is: " + value);
        }
        this.profileData.put(key, value);
    }

    @Override
    public Iterator<MetaDataNode> getKeys() {
        return this.profileData.keySet().iterator();
    }

    public String toString() {
        StringBuilder dump = new StringBuilder(128);
        for (Map.Entry<MetaDataNode, Object> entry : this.profileData.entrySet()) {
            String path = entry.getKey().getPath();
            String value = entry.getValue().toString();
            dump.append(path).append("->").append(value).append("; ");
        }
        return dump.toString();
    }
}