MetaDataInstanceImpl.java 2.54 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.day.cq.mcm.campaign.profile.impl;

import com.day.cq.mcm.campaign.profile.MetaDataInstance;
import com.day.cq.mcm.campaign.profile.OptionValue;
import com.day.cq.mcm.campaign.profile.Options;
import com.day.cq.mcm.campaign.profile.impl.OptionsImpl;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

@Deprecated
public final class MetaDataInstanceImpl
implements MetaDataInstance {
    private final String id;
    private final String dataType;
    private OptionsImpl options;
    private final Map<String, Object> properties;

    public MetaDataInstanceImpl(String id, String dataType) {
        this.id = id;
        this.dataType = dataType;
        this.options = null;
        this.properties = new HashMap<String, Object>(4);
    }

    @Override
    public String getId() {
        return this.id;
    }

    @Override
    public String getDataType() {
        return this.dataType;
    }

    protected void addOption(OptionValue optionToAdd) {
        if (this.options == null) {
            this.options = new OptionsImpl();
        }
        this.options.addValue(optionToAdd);
    }

    @Override
    public boolean hasOptions() {
        return this.options != null;
    }

    @Override
    public Options getOptions() {
        return this.options;
    }

    protected void addProperty(String key, Object value) {
        this.properties.put(key, value);
    }

    @Override
    public Object getProperty(String key) {
        return this.properties.get(key);
    }

    @Override
    public Set<String> getPropertyKeys() {
        return this.properties.keySet();
    }

    public String toString() {
        StringBuilder strRep = new StringBuilder(128);
        strRep.append(this.id).append(": type-").append(this.dataType);
        if (this.options != null) {
            strRep.append(" options-[");
            strRep.append(this.options.toString());
            strRep.append("]");
        }
        if (!this.properties.isEmpty()) {
            strRep.append(" properties-[");
            Set<Map.Entry<String, Object>> entries = this.properties.entrySet();
            boolean isFirst = true;
            for (Map.Entry<String, Object> entry : entries) {
                if (isFirst) {
                    isFirst = false;
                } else {
                    strRep.append("; ");
                }
                strRep.append((Object)entry.getKey()).append('=').append(entry.getValue());
            }
            strRep.append("]");
        }
        return strRep.toString();
    }
}